码迷,mamicode.com
首页 > 其他好文 > 详细

12. 抽象与密封

时间:2017-10-05 00:50:15      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:包含   ide   抽象   隐式   rri   其他   索引   nbsp   bst   

一、抽象类与抽象方法

  1、抽象类与抽象方法声明
  他们都必须包含关键字 abstract ,并且抽象方法不能有方法体。抽象类中可以包含非抽象方法。
  2、抽象类特性:
  (1)抽象类不能实例化,必须通过继承由派生类来实现其抽象方法。如果派生类没有实现所有的抽象方法,则该派生类也必须声明为抽象类。
  (2)抽象类的非抽象子类(即派生类)必须通过重载实现其继承的所有抽象方法和抽象服务器 。

  3、抽象方法
  (1)抽象非是隐式的虚方法,只允许声明在抽象类中,不能使用static、private或virtual修饰符;
  (2)重写抽象方法时采用override 。

  4、抽象方法和虚方法的区别:
  虚方法有实现部分,并且派生类对其重写是可选的;抽象方法没有实现部分,并且强制非抽象派生类对其重写。

  5、abstract修饰符
  (1)他可以和类、方法、属性、索引器及事件一起使用;
  (2)在类声明中使用 abstract 修饰符以表明这个类只能是其他类的基类;
  (3)他不能修饰静态方法或静态属性 。

二、密封类与密封方法

  1、密封类
  (1)密封类即不能继承的类,C#中使用关键字 sealed,将类和方法声明为密封类或者密封方法;
  (2)密封类中不能包含虚方法(virtual)和抽象方法(abstract)。

  2、密封方法
  (1)用修饰符 sealed 进行标记的方法;
  (2)使用 sealed 修饰符可以防止派生类进一步重写该方法 。

三、虚方法

  (1)子类可以对父类中的虚方法进行重写;
  (2定义
如: public virtual void eat();  //使用virtual关键字定义
        public override void eat(); //使用override关键字进行重写

 

12. 抽象与密封

标签:包含   ide   抽象   隐式   rri   其他   索引   nbsp   bst   

原文地址:http://www.cnblogs.com/yx-xiansheng/p/7628113.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!