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

原文地址:https://www.cnblogs.com/hjxzjp/p/7608417.html