面向对象_猫狗案例加入跳高功能代码实现

来源:互联网 发布:淘宝网首页官网登录 编辑:程序博客网 时间:2024/06/10 09:50
/*猫狗案例,加入跳高的额外功能分析:从具体到抽象猫:姓名、年龄 吃饭、睡觉狗:姓名、年龄吃饭、睡觉由于有共性功能,所以,我们抽取一个父类:动物类:姓名、年龄吃饭();睡觉(){}猫:继承自动物类狗:继承自动物类跳高的客外功能是一个新的扩展功能,所以我们要定义一个接口接口:跳高部分猫:实现跳高部分狗:实现跳高实现:从抽象到具体接口:成员方法:跳高动物类:成员变量:姓名、年龄构造方法:无参、带参成员方法:吃饭();睡觉(){}猫:成员变量:姓名、年龄构造方法:无参、带参成员方法:吃饭();睡觉(){}狗:成员变量:姓名、年龄构造方法:无参、带参成员方法:吃饭();睡觉(){}部分猫:实现跳高部分狗:实现跳高使用:使用具体类*///定义跳高接口interface Jumpping{//跳高功能public abstract void 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 String getName(){return name;}public void setName(String name){this.name = name;}public int getAge(){return age;}public void setAge(int age){this.age = age;}//吃饭();public abstract void eat();//睡觉(){}public void sleep(){System.out.println("睡觉");}}//具体猫类class Cat extends Animal{public Cat(){}public Cat(String name,int age){super(name,age);}public void eat(){System.out.println("猫吃鱼");}}//具体狗类class Dog extends Animal{public Dog(){}public Dog(String name,int age){super(name,age);}public void eat(){System.out.println("狗吃骨头");}}//有跳高功能的猫class JumpCat extends Cat implements Jumpping{public JumpCat(){}public JumpCat(String name,int age){super(name,age);}public void jump(){System.out.println("跳高猫");}}//有跳高功能的狗class JumpDog extends Dog implements Jumpping{public JumpDog(){}public JumpDog(String name,int age){super(name,age);}public void jump(){System.out.println("跳高狗");}}class InterfaceTest{public static void main(String[] args){//定义跳高猫JumpCat jc = new JumpCat();jc.setName("小黄猫");jc.setAge(2);System.out.println(jc.getName()+"---"+jc.getAge());jc.eat();jc.sleep();jc.jump();System.out.println("---------------------------------");JumpCat jc2 = new JumpCat("多啦A梦",3);System.out.println(jc2.getName()+"---"+jc2.getAge());jc2.eat();jc2.sleep();jc2.jump();System.out.println("---------------------------------");//定义跳高狗JumpDog jd = new JumpDog();jd.setName("旺财");jd.setAge(3);System.out.println(jd.getName()+"---"+jd.getAge());jd.eat();jd.sleep();jd.jump();System.out.println("---------------------------------");JumpDog jd2 = new JumpDog("小哈",2);System.out.println(jd2.getName()+"---"+jd2.getAge());jd2.eat();jd2.sleep();jd2.jump();}}

0 0
原创粉丝点击