封装:
数据角度讲[封装数据],将一些基本数据类型复合成一个自定义类型。
//符合人的思考方式
//什么时候使用封装:当目标需要用大量数据来描述
方法角度讲[封装功能],向类外提供功能,隐藏实现的细节。
//使人写代码时可以更加集中
设计角度讲,分而治之,高内聚低耦合,封装变化。
[分解需求,找变化点,分成独立类,保证类的单一原则]
继承:
统一概念。
//概念上的共性提取,以层次化的方式管理类
重用现有类的功能,在此基础上进行扩展。
//重用现有类的功能,在此基础上进行扩展
//这个扩展指的是功能的扩充或者概念的扩展
//[父类更加广泛,子类更加具体]。
多态:
父类的同一种动作或者行为,在不同的子类上有不同的实现。
//同一行为,不同实现
(父类调用同一方法,在不同的子类上有不同的执行效果)
//重写
实现手段:虚方法、抽象方法、接口方法。