你好社区。C#中的抽象类和接口有什么区别?毕竟,我们可以说一个抽象类,其中所有方法都没有实现并被标记为抽象,在某种程度上是一个接口。是的,有一个显着的区别——接口描述了对象的行为,即 它必须完全实现,不像抽象类,在抽象类中,不实现抽象方法,继承人也将成为抽象类。我的理解是接口描述了一般的行为而没有实现(每个类都有自己的),那么抽象类是干什么的呢?
你好社区。C#中的抽象类和接口有什么区别?毕竟,我们可以说一个抽象类,其中所有方法都没有实现并被标记为抽象,在某种程度上是一个接口。是的,有一个显着的区别——接口描述了对象的行为,即 它必须完全实现,不像抽象类,在抽象类中,不实现抽象方法,继承人也将成为抽象类。我的理解是接口描述了一般的行为而没有实现(每个类都有自己的),那么抽象类是干什么的呢?
简而言之,我们可以说抽象类用于构建具有共同属性和行为的类的层次结构,而接口为与层次结构无关的不同类的对象定义共同的属性和行为。
接口是空心的,因此对象实例内部没有任何移动,您可以安全地将链接投射到任何祖先。一个类可以包含字段。如果您从两个带有字段的类继承(如果可能的话),则强制转换为第二个将需要引用转换。
一般来说,某个地方有一个问题和一个答案,也涵盖了它们之间的语义差异。现在我来看看。成立。投票将其作为重复项关闭。