C# 在c中何时使用抽象类和何时使用接口#
可能的重复项:C# 在c中何时使用抽象类和何时使用接口#,c#,oop,C#,Oop,可能的重复项: 有人能告诉我什么时候应该使用抽象类,什么时候应该使用带有示例场景的接口吗?如果需要提供基本实现,应该使用抽象类 否则,请使用接口。如果您希望提供方法/方法集的实现,但不希望人们直接实例化父类,请使用抽象类 如果要定义类必须接口的成员,但不提供任何实现,请使用接口。如果要定义行为(如IEnumerable,因为列表的行为类似于IEnumerable),则使用接口,但如果要定义一种对象(IS-a)关系,使用一个抽象类(比如流——因为内存流是一个流)。请参阅:这里有很多重复项。无论
有人能告诉我什么时候应该使用抽象类,什么时候应该使用带有示例场景的接口吗?如果需要提供基本实现,应该使用抽象类
否则,请使用接口。如果您希望提供方法/方法集的实现,但不希望人们直接实例化父类,请使用抽象类
如果要定义类必须接口的成员,但不提供任何实现,请使用接口。如果要定义行为(如
IEnumerable
,因为列表的行为类似于IEnumerable
),则使用接口,但如果要定义一种对象(IS-a)关系,使用一个抽象类(比如流
——因为内存流
是一个流
)。请参阅:这里有很多重复项。无论如何,这是一个直截了当的好答案。