2019/0520/繼承&存取權特性+java作業四+字符串格式化+多形+抽象類別

2019/0520/

前情提要 繼承特性

類別變數改為protected 保護

就不用用方法存取變數

但壞處就是沒辦法用商業邏輯驗證變數

且子類父類會相依性提高

存取權 & 繼承特性

接著實作CommissionEmployeeExtV3

可以跟V2比較

把V2變數改為

然後需要變數屬性的部分都運存取方法得到

維護修改的範圍限制在建構式與存取方法

用呼叫的就會達到上述維護修改範圍限制的好處

super() 是一種連鎖方法 能夠呼叫直接父類別的建構式

才能在子類別繼續執行變數檢查等等的內容

Google search java se 8 object

新增一個CommissionEmployeeExtV3Test 測試V3改完後功能是否正常

###BasePlusCommissionEmployeeExtV3.java

###BasePlusCommissionEmployeeTestExtV3.java ???

#繼承設計類別總結

特殊性邏輯往子類丟

通用性邏輯往父類丟

##作業四

#作業 四 繼承特性

###Shape.java

###Rectangle.java

###Triangle.java

Hw4Test.java ( 使用上述類別與方法 且有多型?

宣告物件變數 建構式初始化時順便給予參數

接著印出

接著宣告一個物件陣列塞剛剛的物件進去

For印不同參數版本的物件值出來

###Hw4Test.java

#字符串格式化字符串函数

https://ctf-wiki.github.io/ctf-wiki/pwn/linux/fmtstr/fmtstr_intro/

https://www.google.com/search?q=java+tostring+%E6%A0%BC%E6%98%AF&oq=java+tostring+%E6%A0%BC%E6%98%AF&aqs=chrome..69i57.9777j0j4&sourceid=chrome&ie=UTF-8

#多型

雇員更上層的父類別?

##擴充性

直接間接處理相同父類別的物件

子可以參考父但父不可參考子

子類別物件可以拿去父用

但父不可以參考子 除非向下轉型 ( 整數轉換成浮點數

強制型別轉換 向下轉型 父轉子 在塞到子類別物件變數

得到呼叫子類別方法能力

子類別是一種父類別 但父類別不是一種子類別

一個父類別有很多個子類別的話,會呼叫出正確的版本ex

xxxx.toString()

不會呼叫到

Object.toString

##接著實作剛剛看到的觀念由以下幾個實例

###CommissionEmployee.java

###BasePlusCommissionEmployee.java

###WeekSalaryPlusCommissionEmployee

###PolymorphismTest.java

父類別子用與多參數型

就算再設計設備的時候也要考慮未來可能擴充元件與特定控制方法,所以一定要有多型,ex 薪水計算方法現行公司指有兩種,難道未來不會有別種或是更多種?

#抽象類別 ( 繼承階層的提升? ( 待補下級待續

指拿來定義 無法用new配置實體物件

抽象類別的 子類別一定要實作屬於子類別版本的方法

讓子符合父的一定規範

規範架構 擴展的範圍

Last updated

Was this helpful?