【唐老狮】C#——继承:密封类

上篇回顾

【万物之父】

关键字

object

概念

object是所有类型的基类

它是一个类(引用类型)

作用

可以利用里氏替换原则

用object装所有对象

可以用来表示不确定类型

作为函数参数类型

【装箱拆箱】

发生条件

用object存值类型(装箱)

再把object转为值类型(拆箱)

装箱

把值类型用引用类型存储

栈内存会迁移到堆内存中

拆箱

把引用类型存储的值类型取出来

堆内存会迁移到栈内存中

好处

不确定类型时可以

方便参数存储和传递

坏处

存在内存迁移

增加性能消耗

截止目前,我们已经把C#中继承相关的知识点基本学完,我们已经知道了继承的基本规则,继承中构造函数的特点,里氏替换原则,万物之父等等。今天我们将学习继承相关的最后一个知识点——密封类。

【密封类】
 

关键字

sealed

作用

让类无法再被继承

实例

如上代码,我们给Teacher类前面加了一个sealed密封关键字,就代表着Teacher类不能被继承了,所以当下方代码尝试用TeachingTeacher继承Teacher时报错了。

意义

在面向对象程序的设计中,密封类的主要作用就是不允许最底层子类被继承。比如上面代码,语文老师在设计上应该不会再允许存在有基于它的子类了。这种时候为了保证设计的结构和规范性,我们可以把它声明为一个密封类。

对于初学者,密封类暂时看起来用处不大,但是随着我们的成长,之后再涉及到框架设计时,密封类将发挥出它的作用。目前对于大家,了解即可。

【总结】
 

关键字

sealed

作用

让类无法再被继承

意义

加强面向对象设计的

规范性

结构性


经验分享 程序员 微信小程序 职场和发展