关键区别 - 多态性与OOP中的继承
面向对象的编程(OOP)通常用于开发软件。许多编程语言支持面向对象的编程。面向对象的编程是一种设计程序的方法类和对象。OOP中的类是创建对象的蓝图。一个类具有属性和方法。对象是类的实例。OOP包含四个支柱,例如遗传,多态性,抽象和封装。本文讨论了OOP中多态性和遗传之间的差异。这关键区别在OOP中的多态性和继承之间多态性是对象以多种方式行事的能力,并且继承是使用现有类的属性和方法创建一个新类。
内容
1。概述和关键差异
2。什么是OOP中的多态性
3。OOP中的继承是什么
4。多态性和OOP继承之间的相似之处
5。并排比较 - 多态性与OOP中的遗传为表格形式
6。概括
什么是OOP中的多态性?
多态性是指出多种形式。一个对象可以具有多种行为。多态性可以分为两类。他们是超载和覆盖。
超载
参考以下程序编写的程序爪哇。
根据上述程序,创建了A类型的对象。打电话给obj.sum();它将给出与方法sum()相关的输出。调用obj.sum(2,3)时;它将给出与总和有关的输出(int a,int b)。可以观察到,相同的对象根据情况有不同的行为。当有多种具有相同名称的方法,但具有不同的参数时,它被称为超载。也称为静态结合或者编译时间多态性。
覆盖
另一种类型的多态性是覆盖。请参阅下面用Java编写的程序。
根据上述程序,A类中有一个方法显示()从A类延伸。因此,A类中的所有方法均可以通过B类访问。这是继承。继承概念将在稍后进一步描述。
B类也具有相同的方法显示()。当创建A类型和调用显示方法的对象时,输出将为B提供。类A显示方法被B类显示方法覆盖。因此,输出为B。
当有具有相同名称和相同参数的方法,但在两个不同的类中,并且它们与继承相关联时,它被称为覆盖。也称为晚期结合,动态结合,运行时多态性。过载和压倒性被称为多态性。它是面向对象的编程中的一个主要概念。
OOP中的继承是什么?
请参阅下面用Java编写的程序。
根据上述程序,A类具有方法sum()和B类具有方法sub()。
A类的SUM()方法可以使用Extend关键字在B类中使用。在现有类中重复使用属性和方法来创建新类称为继承。B类中也没有sum()方法;它是从A类继承的。继承对于代码可重复使用性很有用。较旧的班级称为基类,超类或者父级。派生类称为子类或者儿童课。
继承类型
有多种类型的继承。它们是单级继承,多级继承,多重继承,层次继承和混合继承。
单个继承
在单一继承中,有一个超级类和一个子类。如果A类是超级类,而B类是子类,则A类A类的所有属性和方法都可以通过B类访问。因此,它被称为单级继承。
多级继承
在多级继承中,有三个级别的类别。中级类从超级类继承。子类从中间类继承。如果有三个类别为A,B和C,则是超级类,B是中级类。然后b从a和c继承的b继承,它是多级继承。
多元继承
在多个继承中,有许多超级类和一个子类。如果有三个称为A,B,C和D的超级类是子类,则D类可以从A,B和C继承C。在编程语言C ++中支持多个继承。它在编程语言中不支持爪哇或C#。接口用于在这些语言中实现多个继承。
分层继承
如果有类称为超级类的类,C是子类,则这些子类可以继承A类A的属性和方法。这种继承类型被称为层次结构继承。
混合继承
还有另一种特殊的继承类型,称为混合遗传。它是多层次和多个继承的组合。如果a,b,c和d是类,而b是从a和d继承的b和c,则是混合遗传。
OOP中的多态性和继承之间有什么相似之处?
- 两者都是面向对象的编程的概念。
OOP中的多态性和继承有什么区别?
多态性与OOP的继承 |
|
多态性是对象以多种方式行事的能力。 | 继承是使用现有类的属性和方法创建一个新类。 |
用法 | |
多态性用于对象调用哪种编译时间和运行时的方法形式。 | 继承用于代码可重复使用。 |
执行 | |
多态性在方法中实施。 | 继承是在类中实现的。 |
类别 | |
多态性可以分为超载和覆盖。 | 继承可以分为单层,多层,分层,混合和多重继承。 |
概括 -多态性与OOP的继承
多态性和继承是面向对象的编程中的主要概念。OOP中多态性和继承之间的区别在于,多态性是多种形式的常见接口,并且继承是使用现有类的属性和方法创建一个新类。这两个概念都广泛用于软件开发中。
下载PDF多态性与OOP中的继承
您可以下载本文的PDF版本,并根据引文注释将其用于离线目的。请在此处下载PDF版本OOP中多态性和继承之间的差异
参考:
- 8.3 Java中的继承是什么|讲座|教程,Telusko Learning,2014年5月15日。在这里可用
- Java教程中的多态性,Telusko Learning,2014年5月15日。在这里可用
发表评论