继承与集装箱
继承和集装箱船是两个重要的公司ncepts found in OOP (Object Oriented Programming Example: C++). In simple terms, both Containership and Inheritance deal with providing additional properties or behavior to a class. Inheritance is the ability for a class to inherit properties and behavior from a parent class by extending it. On the other hand, Containership is the ability of a class to contain objects of different classes as member data.
什么是继承?
如上所述,继承是类通过扩展父类从父类继承属性和行为的能力。继承本质上可以通过允许通过新定义的类扩展现有类的属性和行为来提供代码重复使用。如果A类扩展B,则B类称为父类(或超级类),而A类称为子类(或派生的类/sub类)。在此示例场景中,A类将继承超级类(B)的所有公共和受保护属性和方法。子类可以选择覆盖(向方法提供新的或扩展功能),从父类继承。继承代表了OOP中的“ IS-A”关系。这本质上意味着A也是B。换句话说,B可以是对某个现实世界实体的一般描述的类,但A指定了某个专业化。在现实世界的编程问题中,可以扩展人类班级以创建员工班级。这称为专业化。但是您也可以首先创建员工班,然后将其推广到一个人类班级(即概括)。 In this example, the Employee will have all the properties and behavior of the Person (i.e. Employee is also a Person) and may contain some additional functionality (so, Person is not an Employee) as well.
什么是集装箱?
集装箱是类包含不同类作为成员数据的对象的能力。例如,A类可以包含B类作为成员的对象。在这里,B类在A类中执行B中定义的所有公共方法(或函数),而B类成为包含的类。集装箱也称为组成。在此示例中,可以说A类由B类组成。在OOP中,集装箱代表“ HAS-A”关系。重要的是要注意,即使容器有权执行包含类的所有公共方法,它也无法更改或提供其他功能。当涉及到现实世界的编程问题时,类TextBox的对象可以包含在类表单中,因此可以说表单包含文本框(或者,或者是由文本框组成)。
继承和集装箱船之间的区别
尽管继承和集装箱是两个OOP概念,但它们在允许程序员实现的目标方面却大不相同。继承是类通过扩展父类从父类继承属性和行为的能力,而集装箱是类包含不同类作为成员数据的对象的能力。如果一个类扩展,它将继承所有公共和受保护的属性/行为,这些行为可能被子类覆盖。但是,如果一个类包含在另一个中,则容器无法获得更改或添加行为的能力。继承代表了OOP中的“ IS-A”关系,而集装箱代表“ has-a”关系。
Leave a Reply