Java案例——猫与狗(接口版)
一、需求:对猫跟狗进行训练,加入跳高功能,采用抽象类和接口实现,并创建测试类测试
二、分析:
1.定义接口(Jummping)
成员方法 跳高();
/*定义跳高接口
 * */
public interface Jumpping {
   public void jump();
}
 
2.定义抽象动物类(Animal)
成员变量为姓名,年龄;无参有参构造方法;成员方法:get/set方法,eat()
/*定义抽象类
* */
public abstract class Animal {
   private String name;
   private int age;
   //定义无参构造方法
   public Animal(){}
   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 Animal(String name ,int age){
       this.age= age;
       this.name= name;
   }
   //定义成员方法
   public abstract void eat();
   }
 
3.定义具体猫类(cat),继承动物类,实现跳高接口
无参有参构造方法;成员方法 重写 eat()、jump();定义特有方法 play()
/*定义具体猫类继承动物类
 * */
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("猫跳高");
   }
   //定义成员方法
   public void play() {
       System.out.println("玩耍");
   }
} 
4.定义具体狗类(dog),继承动物类,实现跳高接口
无参有参构造方法;成员方法 重写 eat()、jump();定义特有方法 play()
/*定义具体狗类,继承抽象动物类
 * */
public class Dog extends Animal implements Jumpping {
   //定义无参构造方法
   public Dog() {
   }
   //定义有参构造方法
   public Dog(String name, int age) {
       super(name,age);
   }
   //定义成员方法
   public void play() {
       System.out.println("狗玩耍");
   }
   //重写接口方法
   @Override
   public void jump() {
       System.out.println("狗跳高");
   }
   //重写吃饭方法
   @Override
   public void eat() {
       System.out.println("狗吃肉");
   }
} 
5.定义测试类(AnimalDemo)测试
/*动物测试类
 * */
public class AnimalDemo {
   public static void main(String[] args) {
       //使用多态创建猫类对象
//       Animal a = new Cat();
//       a.name = "小猫";
//       a.age = 18;
//       System.out.println(a.name + a.age);
//       a.eat();
//       向下转型,调用猫类特有方法
//       Cat c = (Cat) a;
//       c.jump();
//       c.play();
//     创建对象调用猫类
       Cat c=new Cat("加菲",18);
       System.out.println(c.getName()+c.getAge());
       c.eat();
       c.jump();
       c.play();
       System.out.println("--------------------------------------------");
//     创建对象调用猫类
       Dog d = new Dog();
       d.setName("小狗");
       d.setAge(180);
       System.out.println(d.getName()+d.getAge());
       d.eat();
       d.jump();
       d.play();
   }
}
相关知识
Java猫和狗(继承,多态,抽象,接口版)上
Java猫和狗(继承,多态,抽象,接口版)下
接口版编写猫和狗
Java分别采用继承、多态、抽象类、接口实现猫和狗的入门案例
宠物商店 案例分析
Java面向对象
TP15 项目案例:宠物商店 ACCP 6.0 S2
JAVA编程不得不看的几本经典书籍
【毕业设计之java系列】基于springboot流浪猫狗领养管理系统
案例12:Java宠物医院预约管理系统设计与实现开题报告
网址: Java案例——猫与狗(接口版) https://www.mcbbbk.com/newsview394012.html
| 上一篇: 把猫咪独自放在家,你需要注意哪些 | 
		下一篇: 【java基础】猫和狗(接口类) | 
推荐分享
                
                
                
                - 1养玉米蛇的危害 28694
 - 2狗交配为什么会锁住?从狗狗生 7180
 - 3我的狗老公李淑敏33——如何 6236
 - 4豆柴犬为什么不建议养?可爱的 4637
 - 5南京宠物粮食薄荷饼宠物食品包 4563
 - 6中国境内禁养的十大鸟种,你知 4429
 - 7湖南隆飞尔动物药业有限公司宠 4259
 - 8自制狗狗辅食:棉花面纱犬的美 4257
 - 9家养水獭多少钱一只正常 4212
 - 10广州哪里卖宠物猫狗的选择性多 4122
 
