Java高效编程之四【C语言结构的替代】

本章节可以跳过,但是【二十一】是非常有价值的

十九、用类代替结构

坚持以包含私有域和公有访问方法(accessor method)的类。Java平台中有几个类违反了“公有类不应该直接暴露数据域”的告诫,比如,java.awt包中的Point和Dimension类。

二十、用类层次代替联合

子类型化可以定义单个数据类型,并且可以定义不同类型的对象。如下面的例子:

abstract class Shape { 

abstract double area(); 

} 

class Circle extends Shape { 

final double radius; 

Circle(double radius) { this.radius = radius; } 

double area() { return Math.PI * radius*radius; } 

} 

class Rectangle extends Shape { 

final double length; 

final double width; 

Rectangle(double length, double width) { 

this.length = length; 

this.width = width; 

} 

double area() { return length * width; } 

} 

 类层次的另一个好处是代码非常简洁明了,如上所示。

你可能感兴趣的:(java)