【问题标题】:relationship between interface and abstract classes接口与抽象类的关系
【发布时间】:2015-08-25 10:51:52
【问题描述】:

抽象类可以继承接口类吗?我想设计和实现一个公共交通系统的类图。所以我设计了这样的东西。

1)Limo extends(抽象)出租车extends界面)车辆&(抽象)公共交通

2)地铁延伸(抽象)公共交通

3)mid-buss extends (Abstract)Bus extends (Abstract)public 交通&接口)车辆

4)large-buss extends (Abstract)Bus extends (Abstract)public 交通&接口)车辆

所以如果我想实现这些类,我必须在抽象类中实现接口方法的结构。你怎么看?设计类似上面的东西是否正确?

【问题讨论】:

  • 我们在说什么语言?
  • @Fildor C# 或 java .
  • 两种语言的抽象类都可以实现接口。
  • "我必须在抽象类中实现接口方法的结构" - 至少在Java中你可以将抽象类实现的接口的实现传递给具体类。

标签: oop interface abstract-class


【解决方案1】:
Can an abstract class inherits from an interface class ?

对于 Java 是。以下示例使用 Java 语法。

  1. 豪华轿车延伸(抽象)出租车延伸(接口)车辆和(抽象)公共交通

public class Limo extends AbstractTaxi{...}

public abstract class AbstractTaxi extends AbstractPublicTransportation implements Vehicle{...}

public interface Vehicle{...}

public abstract class AbstractPublicTransportation{...}

  1. 地铁延伸(抽象)公共交通

public class Subway extends AbstractPublicTransportation{...}

  1. 中巴延伸(抽象)巴士延伸(抽象)公共交通和(接口)车辆

public class MidBuss extends AbstractBuss{...}

public abstract class AbstractBuss extends AbstractPublicTransportation implements Vehicle {...}

  1. 大型巴士延伸(抽象)巴士延伸(抽象)公共交通和(接口)车辆

public class LargeBuss extends AbstractBuss{...}

请注意,AbstractTaxi 似乎还没有用,因为该抽象类只有一个子类。但是,引入额外的抽象来变得可扩展并没有错。

【讨论】:

    猜你喜欢
    • 2021-12-15
    • 2020-08-01
    • 2017-02-19
    • 2016-03-24
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    相关资源
    最近更新 更多