[英]does inherited class can access base class
如果我有ThumbPhoto
实体继承了Photo
实体,而Photo实体继承了Entity<int>
足以使用
public class ThumbnailPhoto : Photo
还是我应该使用
public class ThumbnailPhoto : Photo, Entity<int>
C#不支持多重继承,所以不可以。
尽管如此,这:
public class ThumbnailPhoto : Photo
意味着由于以下原因,您将有权访问Entity
方法/属性
public class Photo : Entity<int>
无论您继承的继承多深,此原则都有效。
C#中不允许多重继承。 您不能从多个类中继承。 但是,层次继承是可以的。 因此可以这样写:
public class ThumbnailPhoto : Photo
并且您还从Entity<int>
派生
第一个就足够了。
基类或基类的接口会自动继承。
实际上, Entity
不是接口,后者甚至都不是有效的,因为您只能在C#中指定单个基类。
public class ThumbnailPhoto : Photo
上面是一个选择并且是足够的,因为如果您还可以包括Entity<int>
,则将不会获得任何好处,因为假设Photo
是从Entity<int>
派生的
public class ThumbnailPhoto : Photo, Entity<int>
上面是C# 不支持的多重继承的示例
不要将此与支持的多接口实现混淆:
public class ThumbnailPhoto : Photo, IEntity, IAmAnInterface
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.