面向对象继承设计的7大原则

在OOP中,继承是一种重要的关系。设计好继承关系对提高程序的健壮性有很大帮助。
1.把公共方法和属性放在父类中。
2.使用继承是实现is-a的关系,而不是其他的关系。
3.所有的继承方法都要有意义,否则就不要使用继承。
4.要使用多态,不要使用类型信息。

5.尽量不要使用protected去修饰属性,即不要使用protected的域。
因为子类集合是无限制的, 任何一个人都能够由某个类派生一个子类,并
编写代码以直接访问 protected 的实例域, 从而破坏了封装性。 在 Java 中,在同一个包中的所有类都可以访问 proteced 域,而不管它是否为这个类的子类。
使用protected去修饰一个方法倒是非常有用的。

6.在覆盖方法时,不要尝试去改变预期的行为。
根据里氏替换原则,所有使用父类的地方,都可以出现其子类。如果改变了预期的行为,就会违反里氏替换原则。虽然编译器不会报错,但这明显改变了预期的行为。

7.不要滥用反射。
反射机制使得人们可以通过在运行时查看域和方法, 让人们编写出更具有通用性的程序。这种功能对于编写系统程序来说极其实用,但反射是很脆弱的,即编译器很难程序的错误, 因此只有在运行时才发现错误并导致异常。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值