gpt4 book ai didi

oop - 同时拥有抽象类和接口(interface)有什么好处吗?

转载 作者:行者123 更新时间:2023-12-04 01:34:30 24 4
gpt4 key购买 nike

我从一个名为 ILogin 的通用接口(interface)开始。这些接口(interface)要求您实现两个属性:UserID 和 Password。我有许多实现此接口(interface)的登录类型类。随着我的项目越来越大,我发现许多类都重复了 UserID 和 Password 代码。现在我决定我需要一个基本的登录类。

创建一个实现 ILogin 接口(interface)的抽象基本登录类并让我的所有具体类只从抽象类继承并在必要时覆盖是否合适?本来我以为这样不会有问题的。然后我开始认为 ILogin 可能是不需要的,因为它可能只会由我的抽象类实现。

保留抽象类和接口(interface)是否有好处?

谢谢!

最佳答案

确实。让我们考虑一个具体的例子。

假设我们有一个抽象类 Animal .
比如说,我们创建了一些子类 Cat , Dog , Mosquito , 和 Eagle .我们可以实现它的Eat() , Breathe() , Sleep()抽象类的方法Animal .

到现在为止还挺好。现在,假设我们想要 Fly() Mosquito 的方法和 Eagle类。由于这两种生物的关系并不密切(一种是鸟,另一种是昆虫),因此很难为我们可以作为抽象类拥有的两者找到共同的祖先。这最好通过接口(interface) IFly 来实现.
IFly接口(interface)可以有 Fly()要实现的方法。两个MosquitoEagle类都可以是抽象类 Animal 的子类并实现接口(interface)IFly并且能够Eat() , Breathe() , Sleep()Fly()两个类(Class)之间没有某种奇怪的祖先关系。

关于oop - 同时拥有抽象类和接口(interface)有什么好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com