A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© gcno93 中级黑马   /  2016-9-6 22:32  /  398 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        需求五:
                已知动物类(姓名,年龄,吃饭,睡觉),它有两个子类,分别是猫类和狗类。
                不同的是猫吃鱼,狗吃肉。
                经过马戏团的培训后,部分猫会跳高,部分狗也会跳高。
                请写代码实现。
    class Test1_Animal {
            public static void main(String[] args) {
                        //猫
                    Cat c = new Cat("kk",8);
                    c.eat();
                    c.sleep();
                    JumpCat jc = new JumpCat("会跳高猫",3);
                    jc.eat();
                    jc.sleep();
                    jc.jump();
                        //狗
                        Dog d = new Cat("jj",8);
                    d.eat();
                    d.sleep();
                    JumpDog dc = new JumpDog("会跳高狗",3);
                    dc.eat();
                    dc.sleep();
                    dc.jump();
            }
    }
    abstract class Animal {
            private String name;                                //姓名
            private int age;                                        //年龄
            public Animal() {}                                        //空参构造
            public Animal(String name,int age) {//有参构造
                    this.name = name;
                    this.age = age;
            }
            public void setName(String name) {        //设置姓名
                    this.name = name;
            }
            public String getName() {                        //获取姓名
                    return name;
            }
            public void setAge(int age) {                //设置年龄
                    this.age = age;
            }
            public int getAge() {                                //获取年龄
                    return age;
            }
            public abstract void eat();                        //吃饭
            public abstract void sleep();                //睡觉
    }
    interface Jumping {                                                //跳高的接口
            public void jump();
    }
    class Cat extends Animal {
            public Cat() {}                                        //空参构造
            public Cat(String name,int age) {//有参构造
                    super(name,age);
            }
            public void eat() {
                    System.out.println("猫吃肉");
            }
            public void sleep() {
                    System.out.println("侧着睡");
            }
    }
    class JumpCat extends Cat implements Jumping {
            public JumpCat() {}                                        //空参构造
            public JumpCat(String name,int age) {//有参构造
                    super(name,age);
            }
            public void jump() {
                    System.out.println("猫跳高");
            }
    }
         class Dog extends Animal {
            public Dog() {}                                        //空参构造
            public Dog(String name,int age) {//有参构造
                    super(name,age);
            }
            public void eat() {
                    System.out.println("狗吃肉");
            }
            public void sleep() {
                    System.out.println("躺着睡");
            }
    }
    class JumpDog extends Cat implements Jumping {
            public JumpDog() {}                                        //空参构造
            public JumpDog(String name,int age) {//有参构造
                    super(name,age);
            }
            public void jump() {
                    System.out.println("狗跳高");
            }
    }

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马