天天看點

【Java】繼承和多态的小案例練習

面向對象2 繼承和多态 :

  1. 繼承
  2. 定義動物類(Animal)
  1. 成員變量
  1. 名稱 name
  2. 顔色 color
  1. 成員方法
  1. 吃  eat()  
  1. 列印格式: X色的Tom(name屬性)動物在吃東西
  1. 要求:
  1. 成員變量不帶權限修飾符,方法是公共權限的.
  1. 定義貓類(Cat),繼承Animal類
  1. 成員方法: 抓老鼠(catchMouse())
  1. 在方法中的輸出格式為: 棕色的Tom貓在抓老鼠
  1. 定義狗類(Dog),繼承Animal類
  1. 成員方法: 看家 (lookHome())
  1. 在方法中的輸出格式為: 白色的Jerry狗在看家
  1. 定義測試類Test
  1. 在main方法中
  1. 建立Cat對象c,name指派為Tom,color指派為 棕色

調用c對象成員方法eat方法

調用c對象的成員方法catchMouse()

  1. 建立Dog對象 d,name指派為Jerry,color指派為 白色

調用d對象成員方法eat方法

調用d對象成員方法 lookHome方法

  1. 多層繼承

動物 Animal (爺爺)

   吃飯 eat

貓科動物 Maoke  (他爹)

   爬樹  

貓類 Cat  (子類)

   抓耗子

   測試類中 建立貓類 調用 吃飯 爬樹

  1. 繼承
  2. 定義交通工具類(Vehicle)
  1. 成員變量
  1. 輪子個數 wheel
  2. 顔色 color
  1. 成員方法

跑  run()  

列印格式:  4個輪子白色的車在跑

  1. 要求:

成員變量不帶權限修飾符,方法是公共權限的.

  1. 定義小汽車類(Car),繼承Vehicle類

成員方法: 加油 (addGasoline() ))

在方法中的輸出格式為: 4個輪子的白色小汽車在加油

  1. 定義電動車類(ElectricBicycle),繼承Vehicle類

成員方法: 充電 (charge())

在方法中的輸出格式為: 2個輪子的黑色電動自行車在充電

  1. 定義測試類Test
  1. 在main方法中
  1. 建立Car 對象c,wheel 指派為 4,color指派為 白色

調用c對象成員方法run方法

調用c對象的成員方法addGasoline()

  1. 建立ElectricBicycle對象 eb,wheel 指派為2,color指派為 黑色

調用ed對象成員方法run方法

調用ed對象成員方法 charge方法

  1. 繼承

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 的遊泳方法

  1. 繼承&方法重寫

建立汽車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 奧迪車對象,調用加速,減速的方法

  1. 繼承&方法重寫

定義一個名為Vehicles(交通工具)的基類,該類中應包含String類型的成員屬性brand(商标)和color(顔色),

還應包含成員方法run(行駛,在控制台顯示“我已經開動了”)和showInfo(顯示資訊,在控制台顯示商标和顔色),并編寫構造方法初始化其成員屬性。

編寫Car(小汽車)類繼承于Vehicles類,增加int型成員屬性seats(座位),還應增加成員方法showCar(在控制台顯示小汽車的資訊),