面向对象2 继承和多态 :
- 继承
- 定义动物类(Animal)
- 成员变量
- 名称 name
- 颜色 color
- 成员方法
- 吃 eat()
- 打印格式: X色的Tom(name属性)动物在吃东西
- 吃 eat()
- 要求:
- 成员变量不带权限修饰符,方法是公共权限的.
- 成员变量
- 定义猫类(Cat),继承Animal类
- 成员方法: 抓老鼠(catchMouse())
- 在方法中的输出格式为: 棕色的Tom猫在抓老鼠
- 成员方法: 抓老鼠(catchMouse())
- 定义狗类(Dog),继承Animal类
- 成员方法: 看家 (lookHome())
- 在方法中的输出格式为: 白色的Jerry狗在看家
- 成员方法: 看家 (lookHome())
- 定义测试类Test
- 在main方法中
- 创建Cat对象c,name赋值为Tom,color赋值为 棕色
- 在main方法中
调用c对象成员方法eat方法
调用c对象的成员方法catchMouse()
-
-
- 创建Dog对象 d,name赋值为Jerry,color赋值为 白色
-
调用d对象成员方法eat方法
调用d对象成员方法 lookHome方法
- 多层继承
动物 Animal (爷爷)
吃饭 eat
猫科动物 Maoke (他爹)
爬树
猫类 Cat (子类)
抓耗子
测试类中 创建猫类 调用 吃饭 爬树
- 继承
- 定义交通工具类(Vehicle)
- 成员变量
- 轮子个数 wheel
- 颜色 color
- 成员方法
- 成员变量
跑 run()
打印格式: 4个轮子白色的车在跑
-
- 要求:
成员变量不带权限修饰符,方法是公共权限的.
- 定义小汽车类(Car),继承Vehicle类
成员方法: 加油 (addGasoline() ))
在方法中的输出格式为: 4个轮子的白色小汽车在加油
- 定义电动车类(ElectricBicycle),继承Vehicle类
成员方法: 充电 (charge())
在方法中的输出格式为: 2个轮子的黑色电动自行车在充电
- 定义测试类Test
-
- 在main方法中
- 创建Car 对象c,wheel 赋值为 4,color赋值为 白色
- 在main方法中
调用c对象成员方法run方法
调用c对象的成员方法addGasoline()
-
-
- 创建ElectricBicycle对象 eb,wheel 赋值为2,color赋值为 黑色
-
调用ed对象成员方法run方法
调用ed对象成员方法 charge方法
- 继承
1. 定义家禽类(Poultry)
成员变量(私有): 颜色(color),年龄(age)
提供空参和带参构造方法
提供setXxx和getXxx方法
成员方法: 吃饭(void eat())
输出格式: X岁的X色家禽在吃饭
定义公鸡类(Cock),继承Poultry类
提供空参和带参构造方法
成员方法:
1. 重写父类的 eat()方法
输出格式:: X岁的X色公鸡在啄米
2. 特有方法: 打鸣(crow)
输出格式:: X岁的X色公鸡在打鸣
定义鸭子类(Duck),继承Poultry类
提供空参和带参构造方法
成员方法:
1. 重写父类的 eat()方法
输出格式: X岁的X色的鸭子在吃鱼
2. 特有方法: swim() 游泳方法
输出格式: X岁的X色的鸭子在游泳
4. 定义Test类
d) 在main方法中
i. 创建公鸡对象c,并把颜色赋值为”红色”,年龄赋值为2
调用公鸡对象c的吃饭方法
调用公鸡对象c的打鸣方法
iv. 创建鸭子对象 d,并把颜色赋值为”黑色”,年龄赋值为1.
调用鸭子对象 d 的吃饭方法
调用鸭子对象 d 的游泳方法
- 继承&方法重写
创建汽车Car类
成员变量:轮胎个数 int luntai, 汽车颜色 String color, 车身重量 double weight、速度 int speed
成员方法:
void jiashu() 加速方法, 使成员属性speed 速度加1 speed
void jiansu() 减速方法, 使成员属性speed 速度减1 speed
生成get/set方法,空参和满参构造方法
创建奥迪车Aodi类,继承Car类
重写 加速的方法和减速的方法,每次加减速度 20
创建测试类:
创建Aodi 奥迪车对象,调用加速,减速的方法
- 继承&方法重写
定义一个名为Vehicles(交通工具)的基类,该类中应包含String类型的成员属性brand(商标)和color(颜色),
还应包含成员方法run(行驶,在控制台显示“我已经开动了”)和showInfo(显示信息,在控制台显示商标和颜色),并编写构造方法初始化其成员属性。
编写Car(小汽车)类继承于Vehicles类,增加int型成员属性seats(座位),还应增加成员方法showCar(在控制台显示小汽车的信息),
并编写构造方法。 编写Truck(卡车)类继承于Vehicles类,增加float型成员属性load(载重),
还应增加成员方法showTruck(在控制台显示卡车的信息),并编写构造方法。 在main方法中测试以上各类。
抓耗子的方法