第20条:类层次优于标签类
来源:互联网 发布:郑州java培训班 编辑:程序博客网 时间:2024/05/21 10:17
标签类代码,一看便知何为标签类。
// Tagged class - vastly inferior to a class hierarchy!class Figure { enum Shape { RECTANGLE, CIRCLE }; // Tag field - the shape of this figure final Shape shape; // These fields are used only if shape is RECTANGLE double length; double width; // This field is used only if shape is CIRCLE double radius; // Constructor for circle Figure(double radius) { shape = Shape.CIRCLE; this.radius = radius; } // Constructor for rectangle Figure(double length, double width) { shape = Shape.RECTANGLE; this.length = length; this.width = width; } double area() { switch(shape) { case RECTANGLE: return length * width; case CIRCLE: return Math.PI * (radius * radius); default: throw new AssertionError(); } }}代码中Shape shape就定义了一个枚举类型的标签,用于表示Figure类属于那种形状。
标签类缺点:对于同一种形状的对象来说,Figure类的代码中就存在冗余的代码。如:构造器的冗余,area()方法的冗余。
很显然类层次就优秀很多,就不在赘述了。。。。
0 0
- 第20条:类层次优于标签
- 第20条:类层次优于标签类
- Effective Java 第 20 条: 类层次优于标签类
- 第20条:类层次优于标签类
- 《Effective java》读书记录-第20条-类层次优于标签类
- 类层次优于标签类
- 类层次优于标签类。
- effective java(20) 之类层次优于标签类
- 第18条:接口优于抽象类
- 第18条:接口优于抽象类
- 第18条:接口优于抽象类
- 学习effective java-20类和接口之类层次优于标签类
- Effective Java 第 18 条:接口优于抽象类
- 第二十条:类层次由于标签类
- 第十八条:接口优于抽象类
- 第18条 类与接口——接口优于抽象类
- 第64条:for-each循环优于for循环
- 第49条:基本类型优于装箱基本类型
- HDU 1087
- Android中定时器Timer和TimerTask的启动,停止,暂停,继续等操作实例
- php事务处理.php
- Debug模式下链接release下的lib文件
- p1774机器翻译
- 第20条:类层次优于标签类
- oracle 解除表锁定
- Android SERVICE后台服务进程的自启动和保持
- gedit 报警告
- panel组件href方式脚本的执行顺序
- iOS调试技巧---查看View的层次结构 [view recursiveDescription]
- websphere下面报webapp.WebApp logError SRVE0293E 错误
- 海康威视2014校园宣讲招聘c/c++笔试题(浙工大)
- 《TCP/IP详解卷1:协议》--特殊情况的IP地址