C#中的类:接口、抽象类、抽象方法、虚拟方法-创新互联

1:接口的定义

成都创新互联是一家专业提供金凤企业网站建设,专注与网站建设、成都网站建设、成都h5网站建设、小程序制作等业务。10年已为金凤众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

interface 接口名

{

    接口成员;

}

接口名必须以大写的英文字母I开头。

接口中不能定义字段,也就是说接口中只能包含属性、方法和事件的定义。

定义接口成员时不可使用访问修饰符,所有的接口成员都被隐式的定义为公有的。

接口成员只能有声明,不能有实现。

不用用关键字static、virtual、abstract或sealed来定义接口成员。

Type definition members are forbidden.(不懂)

2:抽象类和抽象方法

抽象类是用关键字abstract修饰的类。

抽象类不能被实例化。

抽象方法是用关键字abstract修饰的方法。

抽象方法只能被定义在抽象类中。

抽象方法不能有方法体。

如果子类继承了一个抽象类,那么这个子类必须要实现抽象类的所有抽象方法;否则,这个子类也必须是抽象类。

子类在实现抽象方法时,必要要使用关键字override。

3:虚方法

虚方法是用关键字virtual修饰的方法。

虚方法可以定义在普通类和抽象类中。

虚方法要有方法体。

父类的虚方法可以被子类直接继承。

子类可以使用override关键字重写父类的虚方法,也可以使用new关键字隐藏父类的虚方法。

4:override和new

override:重写父类的方法(抽象方法、虚拟方法)

new:覆盖(隐藏)父类的方法(普通方法、虚拟方法)

对于父类的普通方法(非虚拟方法和抽象方法),如果在子类中又定义了相同声明的方法,那么就是子类覆盖了(或隐藏了)父类的同名方法。

虽然在子类中可以直接用相同的方法声明来书写新的方法,但C#建议应该在方法声明的开头加上new关键字。

对于覆盖的方法在调用时的区别:

    子类的引用指向子类的对象,调用的是子类的方法;

    父类的引用指向子类的对象,调用的是父类的方法。

如果想要在使用父类的引用指向子类的对象时,调用子类的方法(这也是使用多态的一般目的),那么需要:将父类的方法声明为虚拟方法或抽象方法;在子类中使用override关键字进行方法重写。

5:显式的调用父类的方法

base.方法名(参数列表)

6:显式的调用自己的方法

this.方法名(参数列表)

7:实现接口中的方法(还要整理一下)

继承了接口的类必须要实现接口中所有方法,除了可以将接口中的方法实现为普通方法外,也可以将接口中的方法实现为虚拟方法或抽象方法。

如果在实现接口的类中实现接口中的方法时,在方法名之前加上了接口名限定符(即:接口名.方法名),这种方式称为“显式的实现接口成员”,被显式实现的接口成员只能被接口类型的变量调用。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

网页题目:C#中的类:接口、抽象类、抽象方法、虚拟方法-创新互联
分享网址:https://www.cdcxhl.com/article10/cceedo.html

成都网站建设公司_创新互联,为您提供关键词优化品牌网站设计微信小程序电子商务搜索引擎优化软件开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营