2013-10-02 57 views
1

如果我有它繼承Photo實體ThumbPhoto實體和照片實體繼承Entity<int>是否足夠使用不繼承的類可以訪問基類

public class ThumbnailPhoto : Photo 

,或者我應該使用

public class ThumbnailPhoto : Photo, Entity<int>

+2

得到你爲什麼不嘗試兩個,看看自己呢? – Servy

回答

5

C#不支持多繼承,所以沒有。

這且不說,雖然,這樣的:

public class ThumbnailPhoto : Photo 

意味着你將有機會獲得因

public class Photo : Entity<int> 

這一原則的Entity方法/屬性工作然而深的繼承得到。

1

第一個就足夠了。

基類中的基類或接口會自動繼承。

實際上是Entity不是一個接口,後者甚至沒有效,因爲你只能在C#中指定一個基類。

1
public class ThumbnailPhoto : Photo 

上面是一個選項,足夠了,因爲什麼都不會來獲得,如果你還可以包括Entity<int> assumping PhotoEntity<int>

public class ThumbnailPhoto : Photo, Entity<int> 

上面導出爲例子多重繼承這是不是支持C#


不要將此與受支持的多接口實現混淆:

public class ThumbnailPhoto : Photo, IEntity, IAmAnInterface 
2

C#中不允許多繼承。你不能從多個類繼承。然而,分層繼承是好的。因此,它是確定寫:

public class ThumbnailPhoto : Photo 

,你也從Entity<int>