1. 上轉型物件
上轉型物件是將子類的物件賦值給父類的引用,形如: superclass sup = subclass;
上轉型物件不能使用子類新增成員(包括成員變數,成員方法),只能使用子類重寫父類的方法,
被子類隱藏的父類變數;子類未重寫的父類方法,未被隱藏的父類成員變數.
-----------------示例運用(多型的運用)--------------------
假如你在乙個物流運輸公司,有個客戶要求你為他運輸一定數量的產品到某地,使用某種交通工具.那我們假設你的管理程式中有truck類,train類,plane類專門用來實現使用不同交通工具的成本計算,都有方法cost(double weight,double space);那麼,問題出來了.客戶對於運輸器種類是可選擇的,你是不是要對每種運輸器new個例項放到不同的service方法中為客戶服務呢?
很明顯這麼做有很多**重複,而且效率太低.那麼為什麼不構造乙個運輸工具的父類:
public class conveyance
然後子類truck,plane,train分別實現cost方法
再構造乙個工廠類為客戶製造子類例項
public class conveyancefactory
else if(which.equils("train"))
else if(which.equils("plane"))
else}}
服務程式的方法實現:
public double transportcost(string type,double weight,double space)
看上面服務層的**多簡單『,而且在mvc層次結構中方法和類的設計也和物件導向.這就是上塑造型給我們帶來的好處咯
這回就方便了,需要truck的時候,客戶只要告訴你他要用卡車運輸運多少距離多遠.那業務員就在option按扭裡面選擇」卡車」在文字框裡輸入重量多少距離多遠.veiw層把資料傳給controler處理成我們的服務程式需要的資料型別.然後服務程式被controler呼叫,用transportcost方法計算出成本返回給veiw,顯示給業務員,業務員就可以告訴客戶需要支付多少錢啦『
Java物件轉型
物件轉型 1 乙個基類的引用型別變數可以 指向 其子類的物件。2 乙個基類的引用不可以訪問其子類物件新增加的成員 屬性和方法 3 可以使用 引用變數 instanceof 類名 來判斷該引用型變數所 指向 的物件是否屬於該類或該類的子類。4 子類的物件可以當做基類的物件來使用稱作向上轉型 upcas...
java 物件的轉型
為什麼要寫這篇部落格 物件的轉型是物件導向多型性的體現,必須深刻理解。向上轉型 父類引用指向子類物件 person p new student 向下轉型 將 指向子類物件的父類引用 強制轉換為子類引用 person p new student student s student p 乙個引用能夠呼叫...
Java之物件轉型
1.乙個基類的引用型別可以指向其子類的物件 2.乙個基類的引用指向子類的物件時不可以訪問其子類物件新增加的成員 屬性和方法 3.可以引用 變數 instanceof 類名 來判斷該引用變數所指向的物件是否屬於該類或該類的子類 4.子類物件可以當做基類物件來使用,稱為向上轉型 upcasting 反之...