笔记:继承设计的技巧
来源:互联网 发布:sqlserver enterprise 编辑:程序博客网 时间:2024/05/20 16:00
1、将公共操作和域放在超类。
2、不要使用受保护的域,原因有两点:第一,子类集合是无限制的,任何一个人都能够由某个类派生一个子类,并编写代码直接访问protected的实例域,从而破坏了封装性。第二,在Java语言中,在同一个包中的所有类都可以访问protected域,而不管它是否是这个类的子类。
3、使用继承实现“is-a”关系,使用继承很容易达到节省代码的目的,但有时候也被滥用了。例如,假设需要定义一个钟点工类。钟点工的信息包括姓名、雇佣日期,但是没有薪水。他们是按小时计薪,而且不因加班而加薪,这似乎应该由Employee类派生子类Contractor(承包人),再添加一个hourlyWage(小时工资)的域。这并不是一个好设计,这样一来,每个钟点工对象都包含了薪水和计时工资两个域。
4、除非所有继承的方法都有意义,否则不要使用继承。
5、在覆盖方法时,不要改变预期的行为,不要偏离了最初的设计想法。
6、使用多态,而非类型信息,使用多态方法或接口编写的代码比使用多种类型进行检测的代码更加易于维护和扩展。
7、不要过多的使用反射,但对于编写系统程序比较使用。
0 0
- 笔记:继承设计的技巧
- 继承设计的技巧
- 继承的设计技巧
- java:继承设计的技巧
- Java继承设计的基本技巧
- java——继承设计的技巧
- 继承设计的一些小技巧
- [转]继承设计技巧
- 继承设计技巧
- 5.8 继承设计技巧
- Java实践(四)---关于继承设计的一些技巧
- 【js设计模式笔记---继承】
- 【js设计模式笔记---继承】
- java反射机制+继承设计技巧
- 类继承的设计
- 设计技巧38:利用委托桥接类继承的功能层次和实现层次
- 类的继承笔记
- 继承的使用--笔记
- Linux入门之Win7下安装CentOS实现双系统
- EF(EntityFramework) 的 CodeFirst 使用指南二(基本使用)
- 解决Chrome插件安装时出现的“程序包无效”问题
- NSRULConnection网络应用
- 打造自己的vim
- 笔记:继承设计的技巧
- C#连接数据库代码(基础)
- [数位DP] HDU4734 F(x)
- 结构体指针之 段错误 详解(segmentation fault)
- Hbase存储数据结构
- 指针和数组的不同
- 网络-NSURLSession应用和原理
- 位运算:二进制中1的个数
- 字符串匹配