C#接口(Interface)

1.接口使用interface关键字来定义
2.接口一般公开,使用public或internal
3.接口中可以包含类的常用成员(如:属性,方法,事件),但并不是类中的所有的成员都可以在接口中存在。
4.接口中的成员默认就是公开的(public),public关键字必须省略。
5.建议:接口命名一般建议使用大写I。

public interface IBank
{// 属性成员,默认公开
    string BankName { get; set; }

    // 方法成员,默认公开,不能实现,这点和抽象方法类似
    // 方法成员是接口出现最多一种成员
    void Pay();
}

规律一:通过类的实例访问的成员,统统在接口不能存在。原因:接口不能实现化,只能被其他类实现。
规律二:接口中一般不能出现静态的成员

static string Property { get; set; }

接口中不能有构造函数:

public Interface1() { } 

接口中不能有字段:

 private string field1;

类在实现多个接口时,接口之间是没有顺序的。多个接口之间有逗号分割。
但类在实现接口和继承父类同时存在时,先继承,再实现。接口继承父接口时,一个接口可以继承多个接口,一个类也可以实现多个接口。

public class JSBank : JSBankParent, IJijin, IBank
{
    public string BankName { get; set; } = "建设银行";
    public void Pay()
    {
        Console.WriteLine("建设银行转账!");
    }
    public void Sale(decimal amount)
    {
        Console.WriteLine("基金销售!");
    }
    public void Buy(decimal amount)
    {
        Console.WriteLine("基金购买!");
    }
}

使用接口前必须先实现接口

NYBank nybank = new NYBank();

接口:
只能定义公共的抽象方法、属性、事件和索引器。
不包含任何实现。
可以被类直接实现。
支持多重继承(通过可继承接口的概念)。
主要用于定义合同,规定类必须实现的行为。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值