继承的三两事
何为继承:
形式上就是A:B A继承B
定义就是:A可以调用B的非私有成员
关于名称:
A可以被称为子类也可以被称为派生类
B可以被称为基类,超类和父类
继承是使用已存在的类定义作为基础建立新类的技术,新类的
定义可以增加新的数据或新的功能,也可以使用父类的功能
也就是说 在有继承关系的两个类中,子类不仅具有自己独有的成员
还具有父类的成员
关于在继承中的几个单词的意义:
this是表示当前实例,通过它可以访问类的本身的成员。
base可以用于访问父类的成员(方法 构造函数 属性)
protected允许被其子类访问,而不允许其非子类访问
谈到protected 就说说public private protected 三者的范围
修饰符 类内部 子类 其他类
public 可以 可以 可以
protected 可以 可以 不可以
private 可以 不可以 不可以
三种访问修饰符对类成员的访问限制强度
private > protected > public
this 在此不多说
base 此关键字是调用父类构造函数时,只能传递参数,无须再次指定参数
的数据类型,这些参数的变量名必须与父类构造函数的
参数名一致,不一致时会报错 子类构造函数不指明调用父类那个构造
函数时 系统会默认的调用父类的无参构造函数
继承的特性
单根性
一个子类不能同时继承多个直接父类 但可以有多个间接父类 就像
树根一样从下往上寻找树根时 分节点有很多 但只有一根是始终延续的
传递性
A:B B:C 则 相当于 A:C
就像是 父亲继承爷爷的家产 儿子继承父亲的家产一样 归根结底还是儿子继承
爷爷的财产 这个财产就是这三个类同有的成员
继承的价值
模拟现实世界的关系
便于重用和扩展已彻底测试的代码,且无需修改
结构更清晰
多态的概念
就我个人的理解,多态是一个操作被不同对象调用时,产生不同结果的过程
就比如说 同样是问好
中国人是 您好 美国人是 哈喽 韩国人是 啊泥啊塞呦