抽象类
格式 abstract class class_name
注意
抽象类只可以作为其它类的基类,不可以直接被实例化,不可使用new操作符,抽象类如果含有抽象的变量或值,要么是null类型,要么包含了对非抽象类的实例引用。抽象类允许包含抽象成员,不可以同时又是密封的。
抽象类的派生类,如果没有包含对抽象类方法的实现,那么派生类也必须是抽象类。如果派生类对抽象类方法进行重载,并提供方法的具体实现,则该类可以是非抽象类。
例





























抽象方法
试例 public abstract void mothed_name();
注意
抽象方法只能在抽象类中声明,默认是虚方法(可用override重载),不提供具体实现代码,它的执行体中只有一个分号“;”(在圆号后面)不可以带主体,那怕只是{}也不行,
抽象方法重载的虚方法时,基类中虚方法的执行代码将被“拦截”如下例



































密封类
用scaled修饰符声明,不可以被继承,不可以是抽象类,在密封类实例中修饰符virtual无效
密封方法
密封方法必须对虚方法进行重载,所以sealed修饰符总是和override修饰符同时使用
属性的继承
规则 属性重载时,如果基类只有一个属性访问器,那么返璞归重载后的属性也只可以有一个,如果基类同时包含了get和set属性访问器,那么重载的属性可以只有一个,也可以同时有两个。
属性重载声明中,属性的名称,类型,访问修饰符都应该与被继承的属性一致。
注意:与方法重载不同的是,属性的重载声明实际上并没有声明新闻属性,而只是为已有的虚属性提供访问器的具体实现。
虚属性的访问器,包括get访问器与set访问器,同样也是虚的。
抽象属性的访问器也是虚的,而且不提供访问器的具体实现,必须在派生类中通过重载来提供对访问器的具体实现,抽象属性只可以在抽象类中申明
密封属性声明时必须与override修饰符同时使用,不可以在派生类中被继承。
转载于:https://blog.51cto.com/shenymce/204791