那么我们就从需求方面走
首先我们确定了人的行为
我们不可能设计一个万能的persion class
我们只要实现有限的功能,在系统中用到的,比如eat() sleep()
现在要在性别上进行区分
下面对这样的需求进行抽象
考虑到男人、女人终究是人所以和人的关系是一个继承关系 is-a,而男人或者女人又具有吃睡这么些行为,所以把这组行为做一个接口
abstract class Person {
abstract void male();
abstract void female();
}
interface Action {
void eat();
void sleep();
}
public class GkZhong extends Person implements Action {
//.......
}
当我们某一业务上面的需要(多态):
public class Service {
private Person persion;
public void setPerson(Person persion){
this.persion = persion;
}
public void fun(){
//persion.eat(); 这里窄化了,persion不可能有eat()的,但当我们set进来的是GkZhong的对象的时候是需要这么个行为的,这时候困惑了
}
}
不知道表述清楚未
[该贴被gkzhong于2007年05月12日 17:45修改过]
[该贴被gkzhong于2007年05月12日 17:45修改过]