继承与多态的区别
在计算机编程中,继承和多态是两个重要的概念。“继承”和“多态”最基本的区别在于,“继承”是面向对象编程的一个概念,它允许利用现有类的特性创建新类,而“多态”的概念则表示单个函数的多种形式。
阅读本文,了解更多关于继承和多态的信息,以及它们之间是如何不同的。
什么是继承?
继承是面向对象编程 (OOP) 中的一个概念,它指的是一个对象可以获取一个或多个其他对象特性的过程。因此,继承是 OOP 中建立代码可重用性的最强大的概念之一。
借助继承,我们可以通过创建现有类之间的父子关系来构建新类。因此,继承允许创建现有类的新的子类型。
示例
在 OOP 中,使用继承的主要目的是通过可重用性的概念来缩短代码长度。继承有很多类型,例如单继承、多继承、层次继承、多层继承和混合继承。
class base_class: def __init__(self, f_name, l_name): self.firstname = f_name self.lastname = l_name def print_it(self): print(self.firstname, self.lastname) print("An instance of 'base_class' is created") my_instance = base_class("John", "Will") print("A method 'print_it' is being called using the created instance") my_instance.print_it()
输出
它将产生以下输出 -
An instance of 'base_class' is created A method 'print_it' is being called using the created instance John Will
什么是多态?
多态意味着多种形式。它是在编程中允许单个函数具有多种形式的概念。多态通常在函数上实现,它允许对象确定要调用函数的哪种形式。
多态有两种类型,分别是编译时多态和运行时多态。编译时多态也称为方法重载,而运行时多态也称为方法覆盖。
示例
def add_vals(val_1, val_2, val_3 = 1): my_result = val_1 + val_2 + val_3 return my_result print("The method is being called by passing two parameters") print(add_vals(7, 9)) print("The method is being called by passing three parameters") print(add_vals(11, 23, 45))
输出
它将产生以下输出 -
The method is being called by passing two parameters 17 The method is being called by passing three parameters 79
继承与多态的区别
以下是继承与多态之间的重要区别 -
序号 |
继承 |
多态 |
---|---|---|
1. |
它是面向对象编程范式的一部分。 |
'Poly' 表示多种,'morph' 表示形式。 |
2. |
它可以在 C++、Java、Python 和其他面向对象编程语言中实现。 |
它是面向对象编程范式的一部分。 |
3. |
它是一种方法,通过这种方法可以创建一个新类,该类可以获取并使用现有类的属性。 |
它可以在 C++、Java、Python 和其他面向对象编程语言中实现。 |
4. |
现有类称为“父/基类”,使用此类的类称为“子/派生类”。 |
因此,多态是指以多种方式执行特定任务的方法。 |
5. |
它有助于代码重用。 |
这可以在使用函数时使用。 |
6. |
在实现面向对象编程时,它可以减小代码的大小。 |
它允许类的对象决定它必须采用哪种形式才能使用类的方法和属性。 |
7. |
继承的类型
|
多态的类型
|
8. |
它可用于模式设计。 |
它可用于模式设计。 |
结论
这两个概念之间最显着的区别在于,继承用于增强可重用性的概念以减少程序中的代码长度,而多态则定义了单个函数可以以多种形式调用的概念。