面向对象设计的基本原则

一、面向抽象原则

面向抽象编程,是指当设计一个类时,不该让该类面向具体的类,而是面向抽象类或接口,即所设计类中的重要数据是抽象类或接口声明的变量,而不是具体类声明的变量。
见java156例子。

二、开-闭原则

就是让用户的设计应当对拓展开放,对修改关闭,拥抱变化,拒绝修改。
本质是指在一个设计中增加新的模块时,不用修改旧模块。

三、多用组合,少用继承原则

1)继承与复用

  • 子类继承父类的方法作为自己的方法,即父类的方法可以被子类通过继承的方式复用 优点:

子类可以重写父类的方法,即易于修改和拓展被复用的方法。
缺点:

  • 子类无法再运行期间改变继承的方法的行为。
  • 子类与父类的关系是强耦合,父类的改变会导致子类改变。
  • 父类的内部细节对于子类是可见的。

2)组合和复用
组合:一个对象将其他对象作为自己的组成部分。
复用:对象a组合了对象b,那么对象a可以复用对象b的方法。
优点:

  • a对象复用是不可见b对象的方法。
  • a对象与b对象是弱耦合的关系,修改b对象类的方法,不必修改当前代码。
  • 当前对象可以在运行时刻动态地指定所包含的对象。

缺点:

  • 容易导致系统中的对象过多。
  • 为了能组合多个对象,必须仔细的对接口进行定义。

四、高内聚、低耦合原则

如果类中的方法是一组相关的行为,则称该类是高内聚。
高内聚便于类的维护。
低耦合就是尽量不要让一个类含有太多其它类的实例的引用,便于类的维护。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值