文章分类 - 接口
摘要:1. 抽象类和抽象函数C#中使用abstract关键字,将类和函数声明为抽象类或抽象函数抽象类不能实例化,抽象函数没有执行代码,必须在非抽象的派生类中重写抽象函数是虚拟的,但不需要提供virtual关键字,否则会报错如果类包含抽象函受,该类将也是抽象的,也必须声明为抽象的 abstract class MyAbstract { // 变量的定义不适用abstract关键字 private int i; // 属性 public abstract int count { get; set; } // 方法 ...
阅读全文
摘要:1. 继承的类型:实现继承:表示一个类型派生于一个基类型,拥有该基类型的所有成员字段和函数。派生类型的每个函数采用基类型的实现代码,除非在派生类型的定义中指定重写该函数的实现代码。借口继承:表示一个类型之继承了函数的签名,没有继承任何实现代码。2. 多重继承C#不支持多重实现继承,允许类型派生于多个接口。3. 虚方法把一个基类函数声明为virtual,该函数就可以在派生类中重写。4. 隐藏方法如果签名相同的方法在基类和派生类中都进行了声明,但该方法没有声明为virtual和override,派生类方法就会隐藏基类方法。C#中使用关键字new声明我们要隐藏一个方法:class MyDerived
阅读全文
摘要:接口名传统上以字母I开头,以便知道这是一个接口从接口中派生完全独立于从类中派生在声明接口成员的时候,只要指明接口成员的名称和参数就可以了,接口一旦被继承,子类需要提供方法的所有实现代码。接口声明不包括数据成员,只能包含方法、属性、事件、索引等成员。不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明。接口和类都可以继承多个接口using System;namespace ConsoleApplication3{ class Program { static void Main(stri...
阅读全文