三十二课 类的继承

1、什么是继承?
通俗的来说就是子承父业。
你得到了和你有着最亲密的血缘关系的直系长辈的财富。
你还得到了相关的知识和经验以及性格。
现实社会中的继承包括有两大类:
1、非物质类
2、物质类
因为物质类而互相伤害,目的是为自己获取最大利益。这个其实就是人的自私性。
在编程世界中继承是指一个类建立在另一个类的基础之上的,也就是说一个类被另一个类继承了。
被继承的类称为“基类/父类”,继承的类称为“派生类/子类”
===============================
前面我们学习的访问修饰符:
1、public(公共的)
2、private(私有的)
3、protected(受保护的《-----只能被自己或自己的子类使用)
================================
继承的好处:
1、代码的复用(无需从零创建,可以在已有的基础上进行扩展)
2、继承的传递,可以无限传递(一层一层往后进行传承)
3、
=================================
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 15:22  moluxing  阅读(84)  评论(0)    收藏  举报