继承:子类与父类的关系(子类 is a 父类),子类是一种特殊的父类
应用场合:A类拥有B类的全部属性和方法
组合:一个类中拥有另一种类的对象(它们之间是一种关系)
应用场合:A类中拥有B类的实例作为属性
继承
优点:子类可以重写父类方法,方便的对父类进行扩展
缺点:1.父类的内部细节对子类是可见的
2.子类从父类继承的方法和属性在编译时就已经确定,无法在运行时改变从父类继承的属性和方法
3.如果父类的方法做了修改的话,则子类的方法必须做出修改。所以父类和子类有相当高的耦合性
组合
优点:1.当前对象只能通过所包含的那个对象去引用其方法,被包含的对象内部方法和属性对当前对象是不可见的
2.当前对象和所包含对象是一种低耦合关系,被包含的对象被修改时,当前对象不必做出修改
3.当前对象可以在动态运行时绑定对象,通过set方法给其赋值
|
|