面向对象编程思想(二) - 人的描述

面向对象编程思想(二) - 人的描述

(1)首先需要分析下人应该怎样来描述,如何分类

1.人的分类,可以按照以下几种方式来分类,简单罗列:

按照性别:男人+女人

按照年龄:老年+年轻人

按照肤色:黑人+白人+黄人

......

2.那么,当要描述一个具体的人时,就可能需要上面那些分类的部分或全部的集合,因此需要让该具体的人去实现不同的接口,如:男人+年轻人+黑人,即需要实现,实现男人的接口、年轻人的接口、黑人的接口;所以应该把每个类别的每种情况写成接口,来让一个实体来实现

(2)进行接口的设计划分、编写

1.首先需要一个人的接口,每个人都应该实现该接口,代码如下:

1 /**
2  * 用于描述人的接口,所有的人都必须实现这个接口
3  * @author Wfei
4  *
5  */
6 public interface IPeople
7 {
8 
9 }

2.其次,就是讲描述人的一些特征,都写成接口,当描述一个人时,如果这个人具有某个特征,则只需要去实现相应的接口即可,本次编写的特征接口有:

男人接口:public interface IMan

女人接口:public interface IWoman

老人接口:public interface IOld

年轻人接口:public interface IYoung

黑人接口:public interface IBlack

白人接口:public interface IWhite

黄人接口:public interface IYellow

(3)在上面的一些人的特征的接口编写完毕后,当我们来形容一个这样的人时:男人、年轻人、黑人,就可以写一个类,来继承相应的人的特征接口:IMan、IYoung、IBlack,代码如下:

 

1 /**
2  * 描述一个男人,这个男人是年轻人,并且肤色是黑色
3  * @author Wfei
4  *
5  */
6 public class Person01 implements IMan, IYoung, IBlack
7 {
8     
9 }

(三)总结

对于一类人的一些特征,我们把他们写成特征接口,而对于所有人都会有的一些必备的属性、特征,可以把这些必备的属性写成父类的属性或方法,这样在形容某类人时,可以在实现了相应的特征后,再继承人的必备的属性的父类;而当需要描述某类人中一个具体的人,就可以让该类人中这个具体的人继承描述这类人的类,然后添加/重写自己应该有属性或方法;这种将一个具体的人逐步的抽象、逐步的抽取属性的程序设计方法,不仅保证了面向对象设计思想中体现的“层次感”,也可以在以后有新的特征的人出现时,不会改动程序的主要逻辑,只需要将相应的特征写成接口,并给予实现、继承即可,保证了程序的灵活性和可扩展性;

(四)源码

posted @ 2013-08-24 13:44  魏飞  阅读(357)  评论(0编辑  收藏  举报
你见

或者不见我
我就在那里
不悲不喜
你念

或者不念我
情就在那里
不来不去
你爱

或者不爱我
爱就在那里
不增不减
你跟

或者不跟我
我的手就在你的手里
不舍不弃
来我怀里
或者
让我住进你的心里
默然

相爱
寂静

喜欢
Mr Frank