什麼是多型?
概念:同一操作作用於不同的物件,可以有不同的解釋,產生不同的執行結果,這就是多型性。簡單的說:就是用基類的引用指向子類的物件。
為什麼要用多型呢?
原因:我們知道,封裝可以隱藏實現細節,使得**模組化;繼承可以擴充套件已存在的**模組(類);它們的目的都是為了——**重用。而多型除了**的復用性外,還可以解決專案中緊偶合的問題,提高程式的可擴充套件性.。耦合度講的是模組模組之間,****之間的關聯度,通過對系統的分析把他分解成乙個乙個子模組,子模組提供穩定的介面,達到降低系統耦合度的的目的,模組模組之間盡量使用模組介面訪問,而不是隨意引用其他模組的成員變數。
多型有什麼好處?
有兩個好處:
1. 應用程式不必為每乙個派生類編寫功能呼叫,只需要對抽象基類進行處理即可。大大提高程式的可復用性。//繼承
2. 派生類的功能可以被基類的方法或引用變數所呼叫,這叫向後相容,可以提高可擴充性和可維護性。 //多型的真正作用,
多型在什麼地方用?
可以用在方法的引數中和方法的返回型別中。
在方法中的引數,請看下面的例子:
public abstract class driver
class sbenz : driver
}class jd : driver
}class person
public person(driver driver)
public void drive()
public void setdriver(driver driver)
static void main(string args)
在方法的返回型別中,請看下面的例子:
上面的例子中,不管是jd還是benz都是我們自己直接new出來的.我們可以設計乙個工廠類,專門生成汽車
/*** 我們將多型使用在方法的返回型別中
* driver可以是抽象類,也可以是介面,jd和benz分別繼承該類或實現該藉口
public class ca***ctory
else if (carname.equals("benz"))
else
}}
這實際上就是設計模式中的簡單工廠模式!
型別的引數.,傳入引數的時候,可以傳入任何乙個類的物件,只要是對應的類的物件名稱就可以了
這就是多型的應用!
了解繼承和多型
移除類的冗餘 1.建立乙個新類 父類 將兩個子類中的公共屬性都提取出來放在公類中。2.刪除兩個子類中的公共部分,保留他們各自獨有的部分。3.在c 中,乙個類可以繼承另乙個類。被繼承的類稱為父類或基類,繼承其他類的類叫子類或派生類。繼承是使用已存在的類的定義作為基礎建立新的技術,新類的定義可以增加新的...
多型簡單理解
constdataset cn new constdataset 基類變數指向基類物件 constdataset st new specifictest 基類變數指向子類物件呼叫非虛方法 執行呼叫方法的變數型別對應的方法,如果沒有找到,則往上回溯,查詢基類中有無對應的方法 直到object,若找不到...
sql簡單了解
sql是一種資料庫語言,資料庫是用來儲存 管理 組織資料的倉庫。sql中有許多的關鍵字,現在只了解下很重要的,經常出現的關鍵字。查詢select,要和from連用。where是指明位置的關鍵字,其內容很豐富。delete刪除,刪除無儲存。delete from xx where xx。update更...