1、封装目的:把对象的使用者和设计者分开,提供接口访问对象减少代码依赖和复杂性
好处:只能通过规定方法访问数据(get/set),隐藏实现细节,便于加入控制语句,方便修改实现
属性私有,仅在类内访问,增加安全性
【需要提供方法对私有属性访问或修饰且有命名规范:访问get+属性名 设置值 set+属性名】
2、继承:对类复用【复用:多次使用,两种实现:1.一个类当另一个类的属性(小汽车和发动机) 2.继承】 【构造方法不能被继承,一个类中多个构造器叫重载】【父类叫超类/父类 子类叫:派生】
从已有类出发定义一个新类,新类可继承父类属性和行为也可有自己的属性和行为
继承私有内容只能间接访问【通过:访问get+属性名 设置值 set+属性名】
优点:代码重用,符合is-a关系【单继承,多重继承:A>>B B>>C】
缺点:不用继承代码重复臃肿,后期难维护
子类没方法,调用父类的方法,方法访问的是父类的属性
子类有方法,调用子类的方法,方法中访问的属性在子类中有,就用子类的,无就用父类
若子类和父类有相同的属性,继承关系先运行父类的方法再运行子类
方法覆盖:又名方法重写【override】从父类继承的方法不能满足子类需求,对其修改的过程叫覆盖
方法覆盖只能存在子类和父类之间
父类私有方法不能覆盖,构造方法不能被继承
------构造方法------------,-------------------------
覆盖是针对成员方法非属性
多态和成员方法相关
静态属性和非静态属性、静态方法,都可被继承和隐藏而不能被重写
多态:非静态方法可以被继承和重写
3、