c# 继承与多种状态
可访问性:
public 无限制
internal 只允许在同一个程序集访问
protected 允许派生类访问
protected internal protected和internal的合并
private 只能在当前类型中访问
继承:在一个类定义中使用 类1:类2 类1中集继承了类2中的元素
注意:在继承中,首先调用的是基类的构造函数,然后调用派生的构造函数。还要注意可访问性要一致,例如public class A和internal class B
这两个类就不能继承。为了保证从基类继承下来的成员都能访问,派生类的可访问性不应该比基类高。要隐藏基类的成员,可以吧成员定义成
private(这种可访问性,只允许内部访问)。所以在派生类中就不能访问这个成员。
如果我们要覆盖掉基类的成员。就需要加入virtual和override关键字。
virtual:在基类中使用 public virtual void work().....//将其虚化
override:在派生类中使用public override void work()....//覆盖基类中的成员
如果要组织定义的这个类被继承 可以使用 sealed 关键字
public sealed class
抽象类:
抽象类被视为公共类,特征是不能被实例化,使用关键字abstract
这里定义一个抽象类Ball,使用关键字abstract,为只读 然后定义一个B类使用override 覆盖这个抽象类Ball