组合是一种设计技术,您的类可以将另一个类的实例作为您的类的字段。继承是一种机制,在该机制下,一个对象可以通过扩展类来获取父对象的属性和行为。
组合和继承都通过相关类提供代码可重用性。当您使用合成时,我们还可以获得继承的功能。以下是区别。
序号 | 键 | 继承 | 组成 |
---|---|---|---|
1 | 基本的 | 继承是“是”关系 | 组成是“有”。关系 |
2 | 代码重用 | 在继承中,类类只能扩展一个接口,因此,您只能在一个类中重用代码 | 我们可以在多个类中重用代码 |
3 | 范围 | 继承在编译时提供其功能 | 在运行时轻松实现合成 |
4 | 最后 | 我们不能重用最后一堂课的代码 | 它甚至允许从最终类重用代码 |
5 | 方法 | 它公开了父类的公共方法和受保护的方法 | 它不会暴露。他们使用公共界面进行交互。 |
class Animal{ String name="Orio"; } class Dog extends Animal{ String type="Dog"; public static void main(String args[]){ Dog p=new Dog(); System.out.println("Name:"+p.name); System.out.println("Type:"+p.type); } }
public class Student { } public class College { private Student student; public College() { this.student = new Student(); } }