乙個類可以同時繼承類和介面,或者抽象類和介面,抽象類和類不能在乙個類的繼承列表中同時出現。如果子類同時繼承類,抽象類和介面,一定要把類或者抽象類寫在前面,介面寫在後面,類名和介面名之是用「,」隔開,介面沒有先後順序。每一種繼承要根據各自的規則去實現。
如果希望學生都具有姓名、性別、年齡和學號等屬性,當可以直接在計算機專業的學生類中建立,但是,如果還有別的專業的學生,那麼都要重新寫一遍,不符合**重用的原則。現在把公用**提取出來建立乙個父類,在父類中賦予這些屬性就可以。由於學號只有學生才有,把學號屬性放在學生介面中定義更合理,更有利於擴充套件。
using system;
public class person
}public int age
}public string ***
}public person(string pname, int page, string p***)
}public inte***ce istudent
}public inte***ce iemployee
public inte***ce iinfostudent: istudent
public class infostudent: person, iemployee, iinfostudent
set}
public infostudent(string sname, int sage, string s***, string sstudentid):
base(sname, sage, s***)
public void studybase()
public void work()
public void studyspecial()
}class progarm
}注意:在介面中可以定義屬性,但不能定義字段,屬性只能用get和set名,不能有具體的實現。
C 介面 類和抽象類
乙個類可以同時繼承類和介面,或者抽象類和介面,抽象類和類不能在乙個類的繼承列表中同時出現。如果子類同時繼承類,抽象類和介面,一定要把類或者抽象類寫在前面,介面寫在後面,類名和介面名之是用 隔開,介面沒有先後順序。每一種繼承要根據各自的規則去實現。如果希望學生都具有姓名 性別 年齡和學號等屬性,當可以...
C 抽象類和介面
net 提供了介面,這個不同於 class 或者struct 的型別定義。介面有些情況,看似和抽象類一樣,因此有些人認為在 net 可以完全用介面來替換抽象類。其實不然,介面和抽象類各有長處和缺陷,因此往往在應用當中,兩者要結合來使用,從而互補長短。接下來先說說抽象類和介面的區別。區別一,兩者表達的...
C 抽象類和介面
物件導向的程式設計,並不是類越多越好,類的劃分是為了封裝,但分類的基礎是抽象,具有相同屬性和功能的物件的抽象集合才是類。在類的基礎上進行抽象,那麼便是抽象類。比如黑貓,白貓,小貓,大貓,它們的共同特點就是屬於貓,那麼貓就是乙個類,同樣狗也是乙個類。在貓狗的基礎上,因為它們均屬於動物,那麼動物便是它們...