黑马程序员技术交流社区

标题: 一道简单的java设计题 [打印本页]

作者: wangleixhlm    时间: 2014-5-21 15:16
标题: 一道简单的java设计题
本帖最后由 wangleixhlm 于 2014-5-21 22:39 编辑

很久以前,鸟兽间爆发了一场大战,蝙蝠盘算着要加入哪一方。
一开始鸟在战争中占据了优势,蝙蝠就过去跟鸟族首领说:”我有翅膀,我会飞,是鸟类,请让我加入你们的队伍“,于是它加入了鸟族的队伍。
然而没过多久,形势就逆转了。兽族在战争中占了上风,于是蝙蝠又找到兽族首领说:”我用自己的乳汁喂养后代,我吃肉,所以是兽类,请让我加入你们的队伍“。于是兽族首领也同意了让蝙蝠加入他们的队伍。

请用三个类和一个接口表述蝙蝠和鸟兽之间的关系。有结构就行了。

作者: kangzhuang112    时间: 2014-5-21 15:27
有会做的吗
作者: 周俊波    时间: 2014-5-21 16:01
一个动物接口 ;
一个动物类实现动物借口;
一个飞行类实现动物接口:定义一个构造方法传入动物接口为参数。再添加上飞行的方法。
一个兽族行为类实现动物接口:定义一个构造方法传入动物接口为参数。再添加吃肉,乳汁喂养后代等方法。

我这里是想到了装饰着模式,也不知道合不合适,你可以去百度一下

作者: 海世山盟    时间: 2014-5-21 18:20
interface annimal
{
        void movement();
        void habits();
}
class bird implements annimal
{
        public void movement()
        {
        System.out.println("我有翅膀,我会飞,是鸟类");

        }
        public void habits()
        {}
}
class beast implements annimal
{
        public void movement()
        {
       
        }
        public void habits()
        {
                System.out.pritnln(" 我用自己的乳汁喂养后代,我吃肉,我是兽");
        }
}
class bat implements annimal
{
        public void movement()
        {
        System.out.println("我有翅膀,我会飞,是鸟类");

        }
        public void habits()
        {
                System.out.pritnln(" 我用自己的乳汁喂养后代,我吃肉,我是兽");
        }

}
作者: wuhyoung    时间: 2014-5-21 19:45
感觉三个类一个接口不太合适,两个接口一个类就好多了。
作者: wangleixhlm    时间: 2014-5-21 19:50
海世山盟 发表于 2014-5-21 18:20
interface annimal
{
        void movement();

这个可行。。感谢啊:handshake
作者: wangleixhlm    时间: 2014-5-21 19:53
wuhyoung 发表于 2014-5-21 19:45
感觉三个类一个接口不太合适,两个接口一个类就好多了。

面试的时候看到的一个题,我也不太会。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2