概述
“编程是一门技术,更加是一门艺术,不能只满足于写完代码运行结果正确久完事,时常考虑如何让代码更加简练,更加容易维护,容易扩展和服用,只有这样才可以真正得到提高。写出优雅的代码真的是一种很爽的事情。UML类图也不是一学就会的,需要有一个慢慢熟练的过程。所谓学无止境,其实这(类的设计)才是理解面向对象的开始。” ——大话设计模式
对于初学者来说,我们不仅仅是要学会面向对象的封装、继承和多态,我们更应该在理解的基础上把这些思想运用到我们的编码当中。在我学习过JAVA过后的很长一段时间,很少真正思考过,类与类之间除了继承、实现和隶属(包含)的关系还有哪些。而当我碰到问题的时候再去思考如何更改类的设计。所以在我们开始整个项目之前,我们应该尽可能的想好每一个类该如何去设计,类与类该如何处理他们的关系,这样我们再进行模式和业务设计的时候才不至于遇到问题了再重新思考。这也是实现代码复用,实现高内聚低耦合的必要条件。
下面我们从UML的类图出发,学习一下类的设计
1. 类(class)
在我看来,类可以看做面向对象程序设计的单位,是封装、继承和多态的最小元素。在面向对象的思想中,一切万物皆对象。
在UML中类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示。第二层是类的特性,通常就是字段和属性。第三层是类的操作,通常是方法和行为。
其中,“+”表示public,“-”表示private,“#”表示protected。
2. 继承(extend)
这是面向对象程序设计的三大特性之一。在UML中使用三角形和实线来表示的。
![]()
代码表示为
public class Bird extend Animal
{
...
}
</