c#类的继承

1、什么是继承?

通俗的来说就是子承父业。

你得到了和你有着最亲密的血缘关系的直系长辈的财富。

你还得到了相关的知识和经验以及性格。

现实社会中的继承包括有两大类:

1、非物质类

2、物质类因为物质类而互相伤害,目的是为自己获取最大利益。这个其实就是人的自私性。

在编程世界中继承是指一个类建立在另一个类的基础之上的,

也就是说一个类被另一个类继承了。

被继承的类称为“基类/父类”,

继承的类称为“派生类/子类”

===============================

前面我们学习的访问修饰符:

1、public(公共的)

2、private(私有的)

3、protected(受保护的《-----只能被自己或自己的子类使用)

================================

继承的好处:

1、代码的复用(无需从零创建,可以在已有的基础上进行扩展)

2、继承的传递,可以无限传递(一层一层往后进行传承)=================================

C#这种语言比较纯粹,不支持多继承,C++是支持多继承的因此C#语言也称为‘单根继承’语言。

============

C++多继承思想应该来源于现实中建筑行业或其他行业,C#更多是借鉴人类社会的情况。

=====================

C#中继承是可以传递的,

同时C#只有一个特殊的基类---》object,

这个类是C#所有类型的基类。

===================

步骤:

1、首先定义基类

2、然后才能定义派生类定义基类语法:和定义普通类是一样的,从设计考虑上是不一样的。

[访问修饰符] class 基类名称{基类的成员}

定义派生类的语法:

[访问修饰符] class 派生类名称:基类名称

//通过:符号进行继承{派生类的成员}--------------------

派生类天然拥有基类的所有非私有成员(其实是所有成员,只不过私有的是不能用的)

=======================

类继承的原则:除了Object外,每个类有且只有一个直接基类,如果没有显示的指定直接基类,

它的直接基类就是Object。Object是没有任何直接或间接的基类,因此它是终极基类

=============================

因此所有的对象都可以直接转为Object,但是反过来就要进行显示转换了,而且还不保证转换成功

====================================

装箱/拆箱

1、装箱将某一个对象直接转为Object。这个过程就成为“装箱”

2、拆箱将一个已经装箱了的对象还原成它的真实类型。这个过程就成为“拆箱”

------------------

来源于程序之间的数据传递。例如:QQ程序和阿里的程序之间互相传递数据,

QQ程序中的一个对象的类型在阿里的程序中可能没有,因此将QQ的要传递的数据装箱为Object,

阿里的程序中也有基类--Object,

这样一来两个程序的数据类型就达成一致,那么就可以互相传递数据了。

----------------------------

基类中的非私有成员派生类都可以访问。

但是受保护的(protected)成员只能在派生类中使用。

公共成员(public)派生类和外部类都可以使用。

----------------------------------

外部能够使用的只能是公共的(public),除此之外都不能在外部访问。

------------------------

派生类除了拥有基类的成员之外,还可以有(扩展)自己的成员

----------------

C#中只支持单根继承,不支持多继承。

-------------------------

但是C#中不能进行循环继承。

class A:C

{}

class B:A

{}

class C:B

{}以上这种就是循环继承,是不允许的。

------------------------

庸俗的来讲(穿越小说中可以发生的悖论)主角穿越后干掉了自己的爷爷的爷爷的爷爷。

自己是存在还是不存在?

posted @ 2020-06-12 19:42  吾与落樱万般相似  阅读(342)  评论(0)    收藏  举报