面向对象-接口-1

面向对象-接口-1



//  接口类
public interface jumpping {
       void jump();
}
//------------------------------------
//  动物类
public 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 class cat extends animal implements jumpping{
    public cat() {
    }

    public cat(String name, int age) {
        super(name, age);
    }

    @Override
    public void eat() {
        System.out.println("猫吃鱼.");
    }
    @Override
    public void jump(){
        System.out.println("猫跳高.");
    }
}
//------------------------------------------
/*
案例:猫和狗
需求:对猫和狗进行训练,他们就可以跳高了,这里加入了跳高功能。
        请采用抽象类和接口来实现猫狗案例,
        并在测试类中进行测试
思路:
① 定义接口(Jumpping)
    成员方法:跳高();
②定义抽象动物类(Animal)
    成员变量:姓名,年龄;
    构造方法:无参,带参;成员方法:get/set方法,吃饭();
③ 定义具体猫类(Cat),继承动物类,实现跳高接口
    构造方法:无参,带参;
    成员方法:重写吃饭(){(..},重写跳高方法(){...}
④ 定义狗类(Dog),继承动物类,实现跳高接口
    构造方法:无参,带参;
    成员方法:重写吃饭({...},重写跳高方法(){...}
⑤ 定义测试类(AnimalDemo),写代码测试
 */
public class demo {
    public static void main(String[] args) {
        //接口只能调用接口里的方法..
        jumpping j = new cat();
        j.jump();
        //抽象类也只能调用它自己的方法
        animal a = new cat();
        a.setAge(2);
        a.setName("田园");
        System.out.println(a.getName()+" , "+a.getAge());
        a.eat();
        //实际使用中要用子类\实现类进行操作@@@
        cat c = new cat("田园",2);
        System.out.println(c.getName()+" , "+c.getAge()+"岁");
        c.jump();
        c.eat();
    }
}

posted @ 2023-01-29 21:46  大宝贝94106  阅读(75)  评论(0)    收藏  举报