【唐老狮】C#——继承:密封类
上篇回顾
【万物之父】
关键字
object
概念
object是所有类型的基类
它是一个类(引用类型)
作用
可以利用里氏替换原则
用object装所有对象
可以用来表示不确定类型
作为函数参数类型
【装箱拆箱】
发生条件
用object存值类型(装箱)
再把object转为值类型(拆箱)
装箱
把值类型用引用类型存储
栈内存会迁移到堆内存中
拆箱
把引用类型存储的值类型取出来
堆内存会迁移到栈内存中
好处
不确定类型时可以
方便参数存储和传递
坏处
存在内存迁移
增加性能消耗
截止目前,我们已经把C#中继承相关的知识点基本学完,我们已经知道了继承的基本规则,继承中构造函数的特点,里氏替换原则,万物之父等等。今天我们将学习继承相关的最后一个知识点——密封类。
【密封类】
关键字
sealed
作用
让类无法再被继承
实例
如上代码,我们给Teacher类前面加了一个sealed密封关键字,就代表着Teacher类不能被继承了,所以当下方代码尝试用TeachingTeacher继承Teacher时报错了。
意义
在面向对象程序的设计中,密封类的主要作用就是不允许最底层子类被继承。比如上面代码,语文老师在设计上应该不会再允许存在有基于它的子类了。这种时候为了保证设计的结构和规范性,我们可以把它声明为一个密封类。
对于初学者,密封类暂时看起来用处不大,但是随着我们的成长,之后再涉及到框架设计时,密封类将发挥出它的作用。目前对于大家,了解即可。
【总结】
关键字
sealed
作用
让类无法再被继承
意义
加强面向对象设计的
规范性
结构性
