2015年4月10日 星期五

繼承

繼承是指子類別繼承父類別後,就會自動取得父類別特性。為了避免多重繼承的不確定性與複雜性JAVA語言只允許單一繼承。若class宣告時沒有指定extends,則Java會自動extends java.lang.Object。

回顧車輛類別

在車輛類別中,增加1個無回傳值的行駛方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Car {
  
 int speed;  //速度
 int weight; //重量
 int size;   //尺寸
 
 public Car(int speed, int weight, int size){
  this.speed=speed;
  this.weight=weight;
  this.size=size;
 }
  
 /**
  * 行駛方法
  * @param distance 距離
  */
 public void run(int distance){
  System.out.println(distance/speed); 
 }
}

使用關鍵字extends來表達繼承觀念

繼承後類別物件的資源可以延伸和重複使用,在程式中可以利用 extends 來實作繼承關係。
  • 當父類存放在不同資料夾(package)時,在程式開頭必須import 父類別
  • 當父類別帶有參數的建構子,必須在子類別建構子最前面加入 super()

以車輛類別建立卡車類別


1
2
3
4
5
6
7
8
9
10
11
12
13
14
import Car;
 
public class Truck extends Car{
  
 int load; //載重
 int whell; //車輪數
  
 public Truck(int speed, int weight, int size, int load, int whell) {
  super(speed, weight, size);
  this.load=load;
  this.whell=whell; 
 }
 
}

綜合練習


沒有留言:

張貼留言