内容
主要区别
单一继承定义为派生类,用于从单个父类继承属性及其性质,该父类具有程序运行所需的所有功能。多重继承被定义为主要的面向对象的计算机编程语言所使用的类型,父对象或类内存在的特征可以被传递给新的对象或类。
比较表
基础 | 单继承 | 多重继承 |
定义 | 派生类,用于从单个父类继承属性及其性质,该父类具有程序运行所需的所有功能。 | 由主要的面向对象的计算机编程语言使用的一种类型,父对象或类中存在的特征可以传递给新的对象或类。 |
基础 | 派生类获得单一基数。 | 派生类获得两个或两个以上的基类。 |
访问 | 派生类始终访问与其关联的文件的功能。 | 派生类可以访问它已连接的基类的所有功能。 |
性质 | 公共,私有和受保护的网络。 | 公共,私有和受保护的网络。 |
行为 | 该行为保持与父行为相同。 | 行为成为父母双方的混合体。 |
单继承
单一继承定义为派生类,用于从单个父类继承属性及其性质,该父类具有程序运行所需的所有功能。它有助于继承类的属性的继承和基类的性质,然后打开代码的可重用性,并向现有系统添加新功能。单一继承可以使推断的类从单独的父类中获取属性和行为。它使理解的级别可以购买基类的属性和行为,随后增强代码的可重用性,并另外向当前系统添加新组件。它使系统显着提高了生产力,减少了冗余。继承是抗议安排编程(OOP)的关键元素之一。如果以正确的方式将单继承继承得更近,则单继承比许多遗产更安全。如果此技术在推断的类或父类构造函数中被废除,则它还可以使确定的类调用特定策略的父类用法。当某个类恰好在该点上放大另一个级别时,我们称其为孤独遗产。下面的流程图显示了类B仅扩展了一个类型A,即A。这里A将是B的父类,而B将是A的tyke类。继承思想被用作许多编程方言的一部分,包括C ++,Java,PHP,C#和Visual Basic。 Java和C#支持单一继承,而C ++等不同的方言则支持许多继承。
多重继承
多重继承被定义为主要的面向对象的计算机编程语言所使用的类,父对象或类中存在的特征可以被传递给新的对象或类,并且继承过程以添加的新功能完成。多重继承是一些位于抗议活动中的PC编程方言的组成部分,其中一个问题或类可以从多个父抗议或父类中获取属性和元素。从单个继承中就可以清楚地看出这一点,抗议者阶级可能只是从一个特定的问题或阶级中得到了。一些抗议活动的不同遗产元素安排了编程方言,其中,班级或主题从多个父级班级或抗议者那里获得属性和特性。它与单一继承属性相反,后者使演示或类可以从一个特定的问题或类中获取。即使多重继承具有某些优势,但如果未适当概述或执行,也会增加不确定性和多面性。执行的不同继承是从各种类中获取技术定义的能力。这种无数的继承带来了问题,例如名称冲突和模棱两可。同样,软件工程师可以通过在超类中添加另一种技术来无意间提出名称争夺战。默认策略显示了一种不同的使用习惯。一个类可以实现多个接口,该接口可以包含名称相似的默认策略。 Java编译器给出了一些原理,以找出不同类使用哪种默认系统。
关键差异
- 单一继承定义为派生类,用于从单个父类继承属性及其性质,该父类具有程序运行所需的所有功能。多重继承被定义为主要的面向对象的计算机编程语言所使用的类型,父对象或类内存在的特征可以被传递给新的对象或类。
- 当涉及单一继承时,派生类将获得单一基类。另一方面,派生类获得两个或两个以上的基类。
- 单个继承的派生类始终访问与它们关联的文件的功能。另一方面,用于多重继承的派生类可以访问其已连接的基类的所有功能。
- 单继承和多继承都具有相同的可见性因子,因此具有公共,私有和受保护的网络。
- 单个继承过程的运行时间需要很少的时间来完成不同的任务开销。另一方面,多重继承过程的运行时间需要更多时间才能完成各种过程。
- 单个继承的行为与父代保持相同。而多重继承的行为成为父母双方的混合体。