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?