1 什么是类(类概念的三个方面)
·是一种数据结构(data structure)
·是一种数据类型
·代表现实世界中的“种类”
2 类的继承
·基类(相当于父类)和派生类(相当于子类)是一对
·父类和子类是一对
·“是一个”概念
·可以用父类类型的变量去引用子类类型的实例
·继承的三个要点
·如果使用sealed关键字修饰某个类,这个类就会变成封闭类,封闭类不可以当作基类来使用
·C#系统只支持一个类只能够有一个基类
·子类的访问级别不可以超过父类
·继承的本质
·继承的本质是派生类在基类已有的成员的基础之上,对基类进行的横向和纵向上的扩展( 横向扩展:类成员在数量上的扩充;纵向扩展:并不增加类成员的个数,但是对某个类成员或者某些类成员版本进行扩充(重写))
·派生类基于基类目前已有的成员:当继承发生的时候,子类(派生类)对父类(基类)的成员是全盘继承
·在派生与继承的过程中,进行的是扩展,说明类成员只可能是越来越多
·一个类成员一旦被引入到继承链当中,他就会一直向下传递,不会从继承链当中移除
·总结:继承就是子类在完整接收父类成员的前提下,对父类进行的横向和纵向的扩展
·类成员的访问级别是以类的访问级别为上限的
什么是基类对象,如何通过基类对象对基类的类成员进行访问?
·当我们创建一个实例的时候,从基类的构造器开始执行,先构造基类对象,再一级一级往下构造,最终构建出要创建的子类对象
·父类的实例构造器不可以被子类继承
·实例1:(作如下修改)
·实例2:
3 类成员的访问控制
类修饰符
·类的修饰符有:new,public,protected,internal,private,abstract,sealed,static
·与类访问控制相关的修饰符有:
①internal修饰符将类的访问级别限制在项目级别(Assembly、装配级、程序集),每个项目编译的结果都是一个装配级,常见的装配级有两种:可执行文件.exe 类库.dll(当类前面没有任何修饰符的时候,相当于前面加一个internal)
②public修饰符就是将类从装配级中暴露出去
类成员访问级别修饰符internal
类成员访问级别修饰符private(最低的访问级别)
·如何证明该成员确实被继承下来了?
类成员访问级别修饰符 protected
protected修饰符会把类成员的访问级别限制在继承链上:当父类中一个类成员用protected修饰,所有的子类都可以访问这个成员,不在继承链上的类型不可以访问