继承和多态性的区别
在计算机编程中, 继承 和 多态 是两个重要的概念。继承和多态之间最基本的区别是:”继承 “是面向对象编程的一个概念,它允许在现有类的特征的帮助下创建一个新的类,而 “多态 “的概念代表一个单一函数的多种形式。
阅读本文,了解更多关于 “继承 “和 “多态 “的信息,以及它们之间的区别。
什么是继承
继承 是面向对象编程(OOP)中的一个概念,指的是一个对象可以接受一个或多个其他对象的特征的过程。因此,继承是在OOPs中建立代码重用性的最强大的概念之一。
在继承的帮助下,我们可以通过与已有的类建立父子关系来建立一个新的类。因此,继承允许创建预先存在的类的新子类型。
例子
在OOPs中,使用继承的主要目的是通过可重复使用的概念来减少代码的长度。继承有很多类型,即单继承、多继承、分层继承、多级继承和混合继承。
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
继承和多态性的区别
以下是继承和多态性之间的重要区别。
S.No. | 继承性 | 多态性 |
---|---|---|
1. | 它是面向对象编程范式的一部分。 | Poly “意味着多个,”morph “意味着形式。 |
2. | 它可以在C++、Java、Python和其他面向对象的编程语言中实现。 | 它是面向对象编程范式的一部分。 |
3. | 3.它是创建一个新类的方法,该类可以接受和使用已经存在的类的属性。 | 它可以在C++、Java、Python和其他面向对象编程语言中实现。 |
4. | 已经存在的类被称为 “父类/基类”,使用该类的类被称为 “子类/派生类”。 | 因此,多态性是指以多种方式执行一项特定任务的方法。 |
5. | 它有助于重复使用代码。 | 这可以在使用函数时使用。 |
6. | 在实现面向对象的编程时,它可以减少代码的大小。 | 它允许类的对象决定它必须采取哪种形式来与类的方法和属性一起工作。 |
7. | 继承的类型 单一继承 多级继承 多重继承 混合继承 分层继承 |
多态性的类型 编译时多态性–它也被称为方法重载。 运行时多态性–它也被称为方法重载。 |
8. | 它可以在模式设计中使用。 | 它可以在模式设计中使用。 |
结论
这两个概念之间最显著的区别是,继承是用来增加可重用性的概念,以减少程序中的代码长度,而多态性定义了一个函数可以以多种形式调用的概念。