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

继承和组合是OOP(面向对象编程)中的两个重要概念。简单地说,组合和继承都处理向类提供附加属性或行为的问题。继承是类通过扩展父类从父类继承属性和行为的能力。另一方面,组合是一个类包含不同类的对象作为成员数据的能力。...

继承与合成

继承和组合是OOP(面向对象编程)中的两个重要概念。简单地说,组合和继承都处理向类提供附加属性或行为的问题。继承是类通过扩展父类从父类继承属性和行为的能力。另一方面,组合是一个类包含不同类的对象作为成员数据的能力。

什么是继承?

如上所述,继承是一个类通过扩展父类从父类继承属性和行为的能力。继承本质上通过允许通过新定义的类扩展现有类的属性和行为来提供代码重用。如果类A扩展B,那么类B称为父类(或父类),类A称为子类(或派生类/子类)。在这个示例场景中,类A将继承超级类(B)的所有公共和受保护的属性和方法。子类可以选择性地重写(为方法提供新的或扩展的功能)从父类继承的行为。

继承表示OOP中的“is-a”关系。这本质上意味着A也是B。换句话说,B可以是对某个真实世界实体进行一般描述的类,但A指定了某个专门化。在实际的编程问题中,可以扩展Person类来创建Employee类。这就是所谓的专业化。但您也可以先创建Employee类,然后再将其泛化为Person类(即泛化)。在本例中,雇员将拥有该人的所有属性和行为(即雇员也是人),并且可能还包含一些附加功能(因此,Person不是雇员)。

什么是作文?

组合是一个类包含不同类的对象作为成员数据的能力。例如,类A可以包含一个B类的对象作为成员。在这里,B中定义的所有公共方法(或函数)都可以在类A中执行。类A成为容器,而类B成为包含类。组成也被称为集装箱船。在这个例子中,可以说类A是由类B组成的。在OOP中,组合表示“有-A”关系。需要注意的是,即使容器有权执行所包含类的所有公共方法,它也不能更改或提供其他功能。当涉及到实际编程问题时,类TextBox的对象可能包含在类Form中,因此可以说Form包含TextBox(或者,表单由TextBox组成)。

遗传和合成有什么区别?

  • 发表于 2020-11-04 08:59
  • 阅读 ( 127 )
  • 分类:IT

你可能感兴趣的文章

作文(composition)和反应化学计量学(reaction stoichiometry)的区别

...反应化学计量的表格形式 5. 摘要 什么是成分化学计量学(composition stoichiometry)? 化学计量学是对一种化合物的原子组成进行定量分析。这个术语是指在一种特定化合物中存在的原子的类型及其数量。我们可以用化合物的化学式来...

  • 发布于 2020-09-30 16:08
  • 阅读 ( 417 )

倍数(multiple)和多层次遗传(multilevel inheritance)的区别

...格形式的多重与多级继承 6. 摘要 什么是多重继承(multiple inheritance)? 多重继承是指一个类继承多个基类。 图01:多重继承 A B和C是类。A和B是基类,C是派生类。C类必须同时管理基类A和B的依赖关系。多重继承在软件项目中并没有...

  • 发布于 2020-10-19 20:00
  • 阅读 ( 398 )

聚合(aggregation)和作文(composition)的区别

...聚合是两个对象之间的关联,它描述了“has a”关系,而composition是一种更具体的聚合类型,它意味着所有权。 目录 1. 概述和主要区别 2. 什么是聚合 3. 什么是构图 4. 聚合与合成的相似性 5. 并列比较-以表格形式汇总与组合 6. 摘...

  • 发布于 2020-10-19 20:29
  • 阅读 ( 219 )

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

...是面向对象编程中的一个主要概念。 什么是oop中的继承(inheritance in oop)? 参考下面用Java编写的程序。 图03:继承示例 根据上面的程序,A类有sum()方法,B类有sub()方法。 类A的sum()方法可以在B类中使用extend关键字。重用...

  • 发布于 2020-10-19 21:16
  • 阅读 ( 560 )

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

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

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

聚合(aggregation)和作文(composition)的区别

...人和他的衣服在某一点上可以被视为一个整体。 Summary:1.Composition implies 其组成物的实际所有权,而聚合不一定拥有其任何聚合。2.组成对其组件具有更强的键,而聚合与其聚合的键较弱或更松散。3.组成具有内部层次上存在的组...

  • 发布于 2021-06-22 14:26
  • 阅读 ( 174 )

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

...不能在运行时更改从父类继承的实现。   什么是作文(composition)? OOP提供了类之间的另一种关系,称为composition,也称为has-a关系。如果一个对象的特征需要成为另一个对象的一部分,那么这种关系需要合成。要从现有类组成一...

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

散文(essay)和作文(composition)的区别

主要区别文章(main difference essay) vs. 作文(composition) 许多学生认为作文和作文这两个词意思相同,可以互换使用。诚然,随笔是一篇随笔,也是一种作文,但并不是所有的作文都是随笔。我们先来看看作文的意义。作文可...

  • 发布于 2021-06-27 13:10
  • 阅读 ( 727 )

合金(alloy)和混合成的(composite)的区别

主要差异合金(main difference alloy) vs. 混合成的(composite) 合金和复合材料是元素的混合物。合金和复合材料的主要区别在于,合金成分中至少有一种金属,而复合材料没有金属成分。合金和复合材料都表现出与原材料不同的...

  • 发布于 2021-06-28 18:36
  • 阅读 ( 415 )

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

...、继承、重载、重写、多态性、Java 什么是java中的继承(inheritance in java)? Java中的继承是一种机制,允许类使用已经存在的类的属性和行为。已经存在的类是父类或超类。继承属性和方法的新类称为子类或子类。继承的主要优点...

  • 发布于 2021-07-01 09:50
  • 阅读 ( 433 )
d9952896
d9952896

0 篇文章

相关推荐