面向对象编程

1.面向对象编程需要注意的三点:
1>组成优于继承
2>对接口编成。父类的引用指向子类的实例,这样可以通过父类的调用得到子类的最新方法
3>适应变化,需要具有灵活性

2.面向对象的三大特性:
1>封装
封装的对象:数据(私有化,保证它的隐藏性)、特有的构造方法、业务方法、辅助方法(供内部使用的辅助方法,可以单提出为辅助类)
需要保证的特性:稳定性(接口稳定,接口中方法的参数可以使用Object)
2>继承(原有代码的扩充和变更)
特点:
●子类具有父类的特征
●父类的扩充
与组成的区别:
●继承得到更多父类成员,可以直接使用,属于紧耦合
●组成则需要先实例化,但提供更好的动态处理,属于松耦合。实例化时可以存在多种实例化方式,如下代码:
private Product product;
public UseTest(FoodProduct food){
 this.product=food;
}
3>多态

3.类的使用:(高内聚,低耦合,功能单一)
具体类:尽量避免做父类
抽象类(父类):有缺省实现时使用,且缺省实现用final来避免再实现
接口(父类):充分利用它子类多态性的特点,让实现灵活可变

4.类之间的关系:
层次关系:继承(父子关系)
成员关系:关联关系
                    聚合关系(整体和部分) |
                    组成关系                               |二者区别:整体和部分是否同生同灭
参数关系:以参数形式进入某一方法

5.面向对象编程的原理
1>OCP开放封闭原理(Open-Closed Principle)
  开放便于扩展,封闭利于修改
2>LSP替代原理(Liskov Substitute Principle)
  子类可以替代其父类
3>DIP依赖倒置原理(Dependency Inversion Principle)
  依赖于抽象类,不依赖于具体类
4>ISP接口分离原理(Interface Segregation Principle)
  多个专用接口优于一个单一的通用接口
5>CRP组成重用原理(Composite Reuse Principle)
  对象组成部分的多态优于继承
6>PLK最少知识原理(Principle of Least Knowledge)
  在类的方法中,只调用本身、参数对象、局部对象以及类的实例对象的操作。尽可能用最少的对象获取所需方法 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值