按关键词阅读: 学习 整理 重点 笔记 C
抽象类是特殊的虚类 。
4 .在派生类中重新定义虚方法 , 要求方法名称 ,参数个数和类型必须与基类虚方法完全一致 。
5 .只能在抽象类中声明抽象方法 。
抽象类可以作 为非抽象类的基类 , 也可以作为派生类 。
我们 可以利用抽象方法来重载基类虚方法 , 这时基 类中的虚方法就被拦截了 。
6 .密封类不能继承 , 密封类不能同时又是抽象 类 , 抽象类总是希望被继承 。
密封类不可能有 派生类 , 如果密封类中有虚成员函数 , 则该成 员可以转化成非虚的 , virtual无效 。
7 . 。
22、密封方法可以防止方法的重载 。
不是所有成员 方法都可以作为密封方法 , 密封方法必须对基类的虚方法进行重载 , 提供具体的实现方法 。
所以 , 在方法的声明中 , sealed修饰符总是和 overr i de修符同时使用 。
8 .抽象属性 , 抽象方法只允许在抽象类中声明 。
抽象类的这些成员交给派生类去实现 。
必须在非抽象类中重载抽象属性 , 非抽象类不允许存在抽象成员 。
属性声明时如果有sealed,则必 须同时有override.修饰符 。
9 .抽象方法在派生类中不能用base关键字会访问 。
接口1 .每个组件都是独立的 , 有其独特的功能 , 只能通过接口与外界通讯 , 当一个组件需要提供新 的服务时 , 可以通过新的接口来实现 。
2 .组件 。
23、应该具有与编程语言无关的特性 。
组件模型是一种规范 , 不管采用哪种语言设计组件 ,都必须遵守这一规范 。
3 .在接口的声明体中 , 可以定义接口的成员 , 接 口的成员可以是方法 , 属性 , 索引指示器和事件 。
4 .接口继承和类继承不同 , 接口继承只是说明继承 。
C#中类继承只能是单继承 , 但接口可以是 多继承 。
被继承的接口应该是访问得到的 , 不 能从private或internal类型的接口中继承 。
5 .对一个接口的继承也就继承了这个接口的所有成员 。
6 .接口成员不能是常量 , 域 , 操作符 , 构造函数或析构函数 , 而且不能包括所有的静态成员 。
7 .接口成员默认的访问方式是public,接口成员 声明不能包含任何修饰符 。
与不能加 。
24、abstract, public, protected.8 .如果底层成员的命名与高级成员的命名一样,那么底层成员将覆盖同名高级成员 。
但由于接口的多继承性 , 如果两个父成员具有两个相同 名的成员 , 这就产生了两义性 , 这时需要显示 声明 , 明确指出需要调用哪个父接口成员 。
9.我们只需要记住一点:一旦成员被覆盖以后,所有对其的访问都被覆盖后的成员“拦截” 。
10 .接口定义不包括方法的实现部分 , 接口可以通过类和结构来实现 。
用类来实现接口的时候 , 接口名称必须包含在类声明的基类列表中 。
如:class A: isequence, itest,如果类实 现了接口 , 那么类也隐式地继承了该接口的所有父接口 , 不管这些父 。
25、接口有没有在类的声明的基类列表中出现 。
11 . 一个类可以实现多个接口 。
如果类中每个成员都明显地指出了被实现的接口 , 通过这种途 径被实现的接口我们称之为显式接口成员 。
显 式接口成员只能通过接口调用 , 而不能通过类调用 。
12 .不能在方法调用 , 属性访问 , 以及索引指示器访问中通过全权名访问显式接口成员执行体 。
事实上 , 显式接口成员执行体只通过接口的实例 , 仅仅引用接口的成员名称来访问 。
13 .显式接口成员执行体的接口必须显式地出现在类的基类列表中 , 即使类隐式的实现了接口 。
14 .接口的成员包括它自己声明的成员 , 而且包 括该接口所有父接口声明的成员 。
在接口的映 射上 , 不仅要对接口声明中显式声明的所有成 员 。
26、进行映射 , 而且要对隐式地从父接口中继承 而来的接口成员进行映射 。
包括与父接口中相 同名称的成员 。
15 .类必须为所有基类表中列出的所有接口成 员提供具体的实现 。
16 .类中使用Private, protected和static修饰 符的成员不能参与实现接口的映射 。
17 .如果子接口成员要覆盖父接口的成员 , 成员 的名字必须相同 , 而且子接口成员名称前用new.18 . 一个类继承了它的基类提供的所有接口的实现 。
如果不显式的重新实现接口 , 派生类就无法改变从基类中继承来的接口映射 。
19 .显式说明的接口成员不能被声明为虚的 。
但可以通过显式接口实现调用另一个方法 , 这个 被调用的方法可以声明为虚的 。
稿源:(未知)
【傻大方】网址:/a/2021/0822/0023898150.html
标题:C|C#学习笔记(c#重点整理)( 四 )