多态性(polymorphism)和oop中的继承(inheritance in oop)的区别

面向对象程序设计(OOP)是软件开发中常用的方法。许多编程语言支持面向对象编程。面向对象编程是一种使用类和对象设计程序的方法。OOP中的类是创建对象的蓝图。类具有属性和方法。对象是类的实例。OOP包含继承、多态、抽象和封装四大支柱。本文讨论了OOP中多态与继承的区别。OOP中多态性与继承的关键区别在于多态性是一个对象以多种方式表现的能力,而继承则是使用现有类的属性和方法创建一个新的类。...

关键区别——oop中的多态与继承

面向对象程序设计(OOP)是软件开发中常用的方法。许多编程语言支持面向对象编程。面向对象编程是一种使用类和对象设计程序的方法。OOP中的类是创建对象的蓝图。类具有属性和方法。对象是类的实例。OOP包含继承、多态、抽象和封装四大支柱。本文讨论了OOP中多态与继承的区别。OOP中多态性与继承的关键区别在于多态性是一个对象以多种方式表现的能力,而继承则是使用现有类的属性和方法创建一个新的类。

目录

1. 概述和主要区别
2. 什么是OOP中的多态性
3. 什么是OOP中的继承
4. OOP中多态性与继承性的相似性
5. 并排比较——表格形式的OOP中多态性与继承性
6. 摘要

什么是oop中的多态性(polymorphi** in oop)?

多态性是指多种形式。一个物体可以有多种行为。多态性可分为两类。它们正在过载和覆盖。

超载

参考下面用Java编写的程序。

多态性(polymorphi**)和oop中的继承(inheritance in oop)的区别

图01:过载

根据上述程序,创建一个类型为A的对象。打电话时目标金额();它将给出与sum()方法相关的输出。当呼叫目标金额(2,3);它将给出与sum(int a,int b)相关的输出。可以观察到,同一物体根据情况有不同的行为。当存在多个同名但参数不同的方法时,称为重载。它也被称为静态绑定或编译时多态性。

压倒一切

另一种多态性是重写的。参考下面用Java编写的程序。

多态性(polymorphi**)和oop中的继承(inheritance in oop)的区别

图02:覆盖

根据上面的程序,在类a中有一个方法display(),类B是从类a扩展而来的,因此类a中的所有方法都可以被类B访问,这就是继承。稍后将进一步描述继承概念。

类B也有相同的display()方法。当创建类型A的对象并调用显示方法时,输出将给出B。类A的显示方法被类B的显示方法覆盖。所以,输出是B。

当存在名称和参数相同但在两个不同类中的方法,并且它们通过继承链接时,称为重写。它也被称为后期绑定、动态绑定、运行时多态性。重载和重写称为多态性。它是面向对象编程中的一个主要概念。

什么是oop中的继承(inheritance in oop)?

参考下面用Java编写的程序。

多态性(polymorphi**)和oop中的继承(inheritance in oop)的区别

图03:继承示例

根据上面的程序,A类有sum()方法,B类有sub()方法。

类A的sum()方法可以在B类中使用extend关键字。重用现有类中的属性和方法来创建新类称为继承。即使在类B中没有sum()方法;它是从类A继承的。继承对于代码的可重用性很有用。较老的类称为基类、超类或父类。派生类称为子类或子类。

继承类型

遗传有多种类型。它们分别是单级继承、多级继承、多重继承、层次继承和混合继承。

单一继承

在单继承中,有一个超类和一个子类。如果类A是超类,类B是子类,那么类B可以访问类A的所有属性和方法,只有一个级别,因此称为单级继承。

多层次继承

在多级继承中,有三个级别的类。中间类继承自超级类。子类继承自中间类。如果有A,B,C三个类,A是超类,B是中间类。然后B从A继承,C从B继承,这是一个多级继承。

多重继承

在多重继承中,有许多超类和一个子类。如果有三个超类被称为A、B、C和D是子类,则D类可以继承A、B和C。C++语言中支持多继承。Java或C等编程语言不支持它。接口用于在这些语言中实现多重继承。

等级继承

如果有一个类称为超类,而B、C是子类,则这些子类可以继承类A的属性和方法,这种继承类型称为层次继承。

杂交遗传

还有另一种特殊的继承类型,称为混合继承。它是多层次、多继承的结合体。如果A、B、C和D是类,B继承自A,D继承自B和C,则为混合继承。

多态性(polymorphi**)和oop中的继承(inheritance in oop)的共同点

  • 两者都是面向对象编程的概念。

多态性(polymorphi**)和oop中的继承(inheritance in oop)的区别

OOP中多态与继承
多态性是一个对象以多种方式表现的能力。 继承是使用现有类的属性和方法创建一个新类。
使用
多态性用于对象在编译时和运行时调用哪种形式的方法。 继承用于代码的可重用性。
实施
多态性是在方法中实现的。 继承是在类中实现的。
类别
多态性可以分为重载和重写。 继承可以分为单级继承、多级继承、层次继承、混合继承和多重继承。

总结 - 多态性(polymorphi**) vs. oop中的继承(inheritance in oop)

多态性和继承是面向对象编程中的主要概念。OOP中多态性和继承的区别在于多态性是多个窗体的通用接口,而继承是使用现有类的属性和方法创建一个新的类。这两个概念在软件开发中被广泛使用。

下载oop中的pdf多态vs继承

引用
    8.3什么是Java中的继承|讲座|教程,Telusko Learning,2014年5月15日。此处提供Java多态性教程,Telusko Learning,2014年5月15日。此处提供

  • 发表于 2020-10-19 21:16
  • 阅读 ( 553 )
  • 分类:IT

你可能感兴趣的文章

压倒一切(overriding)和c中的过载#(overloading in c#)的区别

...主要优点是它支持面向对象编程(OOP)。OOP的一个支柱是多态性。它使一个对象具有多种行为。多态性有两种类型,称为重写和重载。本文讨论了C中方法重写和重载之间的区别。 目录 1. 概述和主要区别 2. 在C中重写是什么# 3. ...

  • 发布于 2020-10-18 23:50
  • 阅读 ( 218 )

早期的(early)和后期装订(late binding)的区别

...区别——早期绑定与后期绑定 早期绑定和后期绑定是与多态性相关的两个概念。早期绑定发生在编译时,后期绑定发生在运行时。早期绑定和后期绑定的关键区别在于早期绑定使用类信息来解析方法调用,而后期绑定使用对象...

  • 发布于 2020-10-19 04:05
  • 阅读 ( 383 )

静止的(static)和java期末考试(final in java)的区别

...明为final。Java支持面向对象编程(OOP)。OOP的一个支柱是多态性。一种多态性是重写的。类具有display方法。类B扩展了类A,它有自己的显示方法。当创建类型为B的对象并调用display方法时,将输出“B”。类A的显示方法被类B的显...

  • 发布于 2020-10-19 07:48
  • 阅读 ( 317 )

继承(inheritance)和java接口(interface in java)的区别

继承(inheritance)和java接口(interface in java)的区别 Java是Sun Microsystems公司开发的一种编程语言。Java可以用来开发各种应用程序。它是一种支持面向对象、结构化等多种范式的语言,Java的主要优点是支持面向对象编程(OOP)。程序...

  • 发布于 2020-10-25 00:02
  • 阅读 ( 496 )

哦(oop)和流行音乐(pop)的区别

...化。一个类获取另一个类的属性和功能的过程称为继承。多态性是一个函数有许多特征,或者一个对象以许多不同的方式表现。 OOP还支持高模块性。添加新函数或数据不需要更改整个程序。因为对象独立于声明和定义,所以只...

  • 发布于 2020-10-28 20:06
  • 阅读 ( 272 )

继承(inheritance)和多态性(polymorphism)的区别

遗传与多态性 在生物学中,当两个或两个以上明显不同的表型(或性状)存在于同一物种群体中或形态或形态的发育时,就会发生多态性。为了说明这一点,变形应该同时拥有相同的习惯,并且必须进行随机交配。多态性可能...

  • 发布于 2021-06-23 16:58
  • 阅读 ( 296 )

作文(composition)和继承(inheritance)的区别

...模型。本文对这两种方法进行了比较。   什么是继承(inheritance)? 在面向对象编程中,继承是实现代码可重用性的最强大工具之一。它是指一个对象获得一个或多个其他对象的特征的功能。C++中的继承意味着可以创建从现有类...

  • 发布于 2021-06-26 02:18
  • 阅读 ( 239 )

继承(inheritance)和多态性(polymorphism)的区别

主要差异遗传(main difference inheritance) vs. 多态性(polymorphi**) 遗传和多态性是遗传学用来描述性状的两个术语。遗传和多态性的主要区别在于,遗传描述了一个特定有机体的特征是如何通过世代传递的,而多态性描述了一个特定有...

  • 发布于 2021-06-29 13:07
  • 阅读 ( 469 )

哦(oop)和流行音乐(pop)的区别

...–主要区别比较 关键术语 抽象、封装、继承、OOP、POP、多态性、编程范式 什么是哦(oop)? OOP(面向对象编程)允许程序员使用对象来建模真实世界的场景。对象是具有状态和行为的任何实体。它是一个类的实例。状态称为属...

  • 发布于 2021-07-01 00:03
  • 阅读 ( 309 )

继承(inheritance)和java中的多态性(polymorphism in java)的区别

Java中继承性和多态性的主要区别在于继承允许类使用已经存在的类的属性和方法,而多态性允许对象以多种方式运行。 面向对象编程(OOP)是软件开发中的一种常见编程范式。它有助于使用对象对现实世界场景进行建模。Java是...

  • 发布于 2021-07-01 09:50
  • 阅读 ( 430 )
iwjppcrt2019
iwjppcrt2019

0 篇文章

相关推荐