虛方法virtual的意思是子類可以重寫,抽象方法abstract是子類必須重寫。
抽象方法 若一個實例方法的聲明中含有 virtual 修飾符,則稱該方法為虛擬方法;一個虛擬方法的實現(xiàn)可以由派生類取代。取代所繼承的虛擬方法的實現(xiàn)的過程稱為重寫該方法;在一個虛擬方法調(diào)用中,該調(diào)用所涉及的那個實例的運行時類型確定了要被調(diào)用的究竟是該方法的哪一個實現(xiàn)。 簡單點說,抽象方法是需要子類去實現(xiàn)的.虛方法,是已經(jīng)實現(xiàn)了,子類可以去覆蓋,也可以不覆蓋取決于需求. public abstract class AUser
{ public abstract UserInfo getUser(); public virtual void Save(UserInfo info) { //實現(xiàn)保存的功能 } } public class UserSqlServer:AUser { public override UserInfo getUser() { //一定要實現(xiàn)的,抽象類只給了抽象方法 } //假設抽象類針對SqlServer實現(xiàn)的功能,這里不需要實現(xiàn)了. } public class UserOracle:AUser { public override UserInfo getUser() { //一定要實現(xiàn)的,抽象類只給了抽象方法 } //假設抽象類針對Oracle實現(xiàn)的功能 public override void Save(UserInfo info) { //覆蓋抽象類中的Save方法 } } url:http://greatverve.cnblogs.com/archive/2011/06/29/virtual-abstract.html 發(fā)表評論
|
|