分析:
猫:
成员变量:姓名,年龄
构造方法:无参,带参
成员方法:get/set方法,抓老鼠()
狗:
成员变量:姓名,年龄
构造方法:无参,带参
成员方法:get/set方法,看门()
共性:
成员变量:姓名,年龄
构造方法:无参,带参
成员方法:get/set方法
继承版
- 定义动物类(Animal)
成员变量:姓名,年龄
构造方法:无参,带参
成员方法:get/set方法 - 定义猫类(Cat),继承动物类
构造方法:无参,带参
成员方法:抓老鼠() - 定义狗类(Dog),继承动物类
构造方法:无参,带参
成员方法:看门()
多态版
- 定义动物类(Animal)
成员变量:姓名,年龄
构造方法:无参,带参
成员方法:get/set方法,吃饭() - 定义猫类(Cat),继承动物类
构造方法:无参,带参
成员方法:重写吃饭() - 定义狗类(Dog),继承动物类
构造方法:无参,带参
成员方法:重写吃饭()
抽象版
- 定义动物类(Animal)
成员变量:姓名,年龄
构造方法:无参,带参
成员方法:get/set方法,吃饭(); // 抽象方法 - 定义猫类(Cat),继承动物类
构造方法:无参,带参
成员方法:重写吃饭(){…} - 定义狗类(Dog),继承动物类
构造方法:无参,带参
成员方法:重写吃饭(){…}
接口版
- 定义接口(Jumpping)
成员方法:跳高(); - 定义动物类(Animal)
成员变量:姓名,年龄
构造方法:无参,带参
成员方法:get/set方法,吃饭(); // 抽象方法 - 定义猫类(Cat),继承动物类
构造方法:无参,带参
成员方法:重写吃饭(){…},重写跳高方法(){…} - 定义狗类(Dog),继承动物类
构造方法:无参,带参
成员方法:重写吃饭(){…},重写跳高方法(){…}
抽象和接口的区别