用人话讲C++——继承(5)

文章目录

  • 前言的小介绍
  • 继承与派生的基本概念

前言的小介绍

继承机制的主要功能是,对一个已存在的类进行扩充和增加功能,从而得到一个新的类。

继承机制是面向对象程序设计中代码复用的重要手段,可以大大提高编程的效率和可靠性。

但是,继承机制的引入,也带来了一些新的小问题,比如,原有类成员访问属性的变化,构造函数、析构函数的调用,原有类成员与新类成员的同名冲突,等等。

继承与派生的基本概念

继承是社会生活中的一个很普遍的现象。比如,每个人都或多或少的从祖辈和父母那里继承了一些体貌特征。但是,每个人也并不是父母的复制品。因为,总存在一些特性,这些特性是他所特有的,在父母身上并没有体现。

换一个角度聊继承,定义金毛和哈士奇两只狗的类,两个都是狗,在写他们的类的时候会有很多地方都相同,那么创建一个狗的类,再去定义哈士奇和金毛各自的特殊点,那可以少敲好多代码

面向对象程序设计也借鉴了这个思想。把这个过程抽象为:一个新定义的类具有某个或某些旧类的功能与数据成员,但他与旧类又不完全相同,而是额外添加了一些功能或数据成员。

在面向对象程序设计的语境中,旧类称为基类,也称为父类,新类称为派生类,也称为子类。

我喜欢叫父类和子类,基类和派生类不仅“难听”,而且要多打(说)一个字

在C++中,继承与派生这两个词经常一起出现,它们实际上描述的是同一个过程,都是指在已有类的基础上,增加新特性而产生新类的过程。他们的区别在于角度不同,继承是从新类的角度称呼,而派生是从旧类的角度称呼。

在C++这个奇怪的世界里,一个基类可以派生出多个派生类,一个派生类也可以由多个基类派生而成,派生类也可以作为新的基类,继续派生出新的派生类。

就是一个儿子可以有多个爹,一个爹可以有多个儿子(前面那个有点不正常)。儿子下面又可以有孙子…

另外,根据基类数目的不同,继承通常分为单一继承和多重继承两大类。单一继承是指子类只有一个父类,多重继承就是子类有多个父类。

引入继承机制的优势是提高了代码的可重用性。子类可以继承父类的成员而不必再重新设计已测试过的基类代码,使编程的工作量大大减轻。
拿之前举例的金毛和哈士奇

class Dog{
	private:
		int age;
		int weight;
		string name;
	public:
		void kanjia(){
			cout<

正在秃头更新ing

你可能感兴趣的:(c笔记,c++,开发语言)