封装,继承,多态
封装
就是利用一些抽象数据结构把数据和基于数据的操作封装成一个“黑盒子”,用户使用时不需要关注具体实现
直接使用就好了
继承
就是用来表示is-a的关系,比如父类是动物,子类是猫,就是用来表示这种关系。子类有着父类的全部属性和
方法。如果子类新增方法,那就是is-like-a关系
多态
同一方法在不同对象上有不同表现
多态的话我觉得就只在运行时才具有,如重写
即对象引用指向的具体类型只有在运行时才会被确定下来
要想实现多态就得满足以下条件
1.有接口实现or类继承
2.子类重写父类的方法
3.父类的引用指向子类的对象
组合
has-a关系,一个类的成员变量是其他类的对象
组合更适合面向接口开发,而且更加简单和灵活,相对于继承,能用组合就用组合
继承得有明确的is-a关系