我已经了解了接口、抽象类和继承的用法。我看到每种都有其用途,但我仍然有点困惑。
我知道,一般一个类只能扩展另一个类,虽然有些类可能支持多重继承,但它可以实现多个接口(这可能是使用接口的主要原因)。但是,如果我是正确的,这个课程也可以由另一个课程扩展。我还发现抽象类可能比接口更快,并且可以具有非静态最终变量。
所以,我仍然不确定什么时候使用哪个更好。也许通过举一些例子可以更好地理解这一点。我并不反对使用任何东西,但我认为有些东西我没有看到。进一步的解释也可能有帮助。提前致谢。
如果您想要使用与基类相同的代码并使用额外的功能扩展它,那么从基类继承非常有用。
虚拟和抽象与此相关。您可以使用基本实现创建虚拟方法。后代类可以(可选)更改或添加到此实现。抽象类是本身不完整的基类。声明了一个抽象方法,但尚未实现。后代阶级must提供一个实现。如果基类实现了一个流,但该流的一部分需要由另一个类实现,那么这很有用。基类需要能够调用该部分,这就是声明抽象方法的地方。
接口则是另一回事。接口是关于类中存在哪些方法的契约,但它们可以由两个完全不相关的类来实现。这很方便,因为您可以为小块功能创建小接口。例如,可以保存的东西可以实现 ISavable,它只是强制“Save”方法的存在。两个完全不同的类可以实现这一点,例如允许“全部保存”功能仅保存可以保存的所有内容。
多重继承是一种特定的语言功能,在许多语言中都不可用,尽管在许多语言中您可以通过使用接口和delegate设计模式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)