男人与女人的关系一向都很复杂,没想到拿到程序里也不简单,下面有三种设计模式,大家看看那种最好呀,或者有什么好的方式贴出来大家
看看呀.interface 人{}
interface 男人 extends 人
interface 女人 extends 人
class 男人实现 implements 男
class 女人实现 implements 男
这种方式是一种完全面对接口的设计方式,优点就是可以很好的发挥多态性.但是继承的长处没有得到好的发挥,代码没有得到重用,你还需要重新去写男人和女人共同的实现部分.interface 人
class 人实现 implements 人{}
class 男人 extends 人实现
class 女人 extends 人实现
这种方式是一种传统的设计方式,对于多态的长处可能没那么好发挥.但是继承的长处得到了很好的应用interface 人
interface 男人 extends 人
interface 女人 extends 人
class 人实现 implements 人
class 男人实现 extends 人实现 implements 男人
class 女人实现 extends 人实现 implements 女人
这种方式我认为比较好,但是 "人实现" 这个类好像既不是男人也不是女人.感觉有点别扭.

解决方案 »

  1.   

    interface 动物{}
    abstract class 人 implements 动物{}
    class 男人 extends 人
    class 女人 extends 人这个最好
      

  2.   

    生物-->动物-->高级动物-->人-->男人,女人
      

  3.   

    把人实现改成抽象人是不是好点呢?
    interface 人
    interface 男人 extends 人
    interface 女人 extends 人
    abstract class 抽象人 implements 人
    class 男人实现 extends 抽象人 implements 男人
    class 女人实现 extends 抽象人 implements 女人
      

  4.   

    我怎么觉得没有必要用到接口呢?
    无论是人,男人还是女人,除了它们本身的实现会用到这个接口外还有什么东西能实现这个接口呀?
    如果觉得没有人既不是男人也不是女人,完全可以将人当成一个抽象类呀!
    所以我的意见是:
    abstract class 人
    class 男人 extends 人
    class 女人 extends 人
      

  5.   

    把人实现改成抽象人是不是好点呢?
    interface 人
    interface 男人 extends 人
    interface 女人 extends 人
    abstract class 抽象人 implements 人
    class 男人实现 extends 抽象人 implements 男人
    class 女人实现 extends 抽象人 implements 女人这种方式不错
      

  6.   

    如下因该可以:interface 人
    abstract class 抽象人 implements 人{}
    class 男人 extends 抽象人 
    class 女人 extends 抽象人
      

  7.   

    把人实现改成抽象人是不是好点呢?
    interface 人
    interface 男人 extends 人
    interface 女人 extends 人
    abstract class 抽象人 implements 人
    class 男人实现 extends 抽象人 implements 男人
    class 女人实现 extends 抽象人 implements 女人这个好点
      

  8.   

    interface 人
    interface 男人 extends 人
    interface 女人 extends 人
    abstract class 抽象人 implements 人
    class 男人实现 extends 抽象人 implements 男人
    class 女人实现 extends 抽象人 implements 女人
      

  9.   

    晕~~那是不是还要做变性手术啊?
    interface 人
    interface 男人 extends 人
    interface 女人 extends 人
    abstract class 抽象人 implements 人
    class 男人实现 extends 抽象人 implements 男人
    class 女人实现 extends 抽象人 implements 女人——————————————
    class 变性人实现 extends 抽象人 implements 男人,implements 女人
      

  10.   

    interface 人
    abstract class 人实现 implements 人{}
    class 男人 extends 人实现
    class 女人 extends 人实现
      

  11.   

    考虑到变性人和太监,我们就来个默认适配器模式吧:)
    interface 人
    interface 男人 extends 人
    interface 女人 extends 人
    abstract class 抽象人 implements 男人,女人   
    class 男人实现 extends 抽象人
    class 女人实现 extends 抽象人
    class 变性人实现 extends 抽象人
    class 太监实现 extends 抽象人
      

  12.   

    现在男的像女的
    女的反而像男的了
    我看不如就:
    class 男人 extends 女人
    class 女人 extends 男人
      

  13.   

    class 现代男人 extends 男人 implements 女人
    ————————————————————————
    晕,还是个变态....
      

  14.   

    ~
    class 男人 extends 女人
    class 女人 extends 男人