2019/0514/Java_靜態類別+繼承特性
#Java類別&物件
##Static 類別成員

###目的
### EmployeeS

### EmployeeSTest


##靜態類別匯入

### StaticImportTest.java
#繼承



##特殊化specialization
##直接間接父類別
##直接間接父類別direct superclass 上層(一代 (其實有祖類別
##間接父類別 indirect superclass
java元祖類別為 object
Java只支援單一繼承 跟c++不一樣 sigle inheritance


##類別在使用上有兩種狀態
###繼承
###複合




##向上轉型

##繼承-存取權


##Entends 繼承
###CommissionEmployee.java
##在不夠熟悉時
通常是實作兩個子類別最後再把相同之處往上搬制做父類別
### CommissionEmployeeTest.java

##建構子不會被繼承

##不標記@Override也會複寫但最好要加上去


###BasePlusCommissionEmployee.java
##減少重複程式碼


##防止錯誤 ( 重點為第三點 維護困難

##繼承的使用

#子類別呼叫父類別建構式

##初始化new父輩實體變數(參數) super , c#裡面是base
###如果沒有寫參數就會自動呼叫沒有參數的版本
###super(參數, 參數, 參數…) super(firstName, lastName, socialSecurityNumber, ◦ grossSales, commissionRate);
###Super呼叫方法也可以間接取到父輩的參數 super.getGrossSales
###或是把參數從私有改為保護或公有
###類別設計好了要在新增一個檔案test做測試
###熟了的話可以直接從規格書知道那些要寫在父類(一般化)別那些要寫在子(特殊化),架構邏輯要清楚

###CommissionEmployeeExtV1 ( 父類別 繼承實作
###BasePlusCommissionEmployeeExtV1 ( 子類別 繼承實作
### BasePlusCommissionEmployeeExtV1Test
( 現在這個階段都在做類別所以檔案內不會有print必須要用 test檔案內 類別的物件操控做顯示
##繼承重點



##參數使用保護繼承的問題

###參數變成無效直沒經過驗證(因為驗證寫在父輩

###修改父類別的內容變成不會影響到子類別
###CommissionEmployeeExtV2
###BasePlusCommissionEmployeeExtV2
###BasePlusCommissionEmployeeExtV2Test
Last updated
