【问题标题】:Scenarios for using Abstract Class and Interface Class抽象类和接口类的使用场景
【发布时间】:2016-08-03 06:20:37
【问题描述】:

我知道抽象类和接口类的概念。 但我想要实时示例来解释我们设计中的两个概念。 有人可以帮忙吗?

【问题讨论】:

  • 您能否详细说明您的问题?你想知道什么时候使用吗?或者为什么要使用它们?
  • 是的,我想知道为什么我们应该同时使用两者

标签: php interface abstract-class


【解决方案1】:

两者都有一些不同的场景...... 抽象类还包含方法定义,因为您知道接口没有。但是如果你定义了抽象类,你就不能从子类继承多个类。但是在接口的情况下,您可以这样做并实现接口内声明的方法。

这些场景用于软件开发,因为我们只是声明了方法的签名,然后用户可以通过覆盖在方法中编写自己的代码。

【讨论】:

    【解决方案2】:

    这里我提到了我们可以用抽象类和接口做什么

    1. 在抽象类中,您可以定义应该是公共的或受保护的抽象方法。但在接口中,您只能定义公共抽象方法。
    2. 在抽象类中可以定义数据成员和常量,但在接口中只能定义常量。
    3. 抽象类可以定义方法体,子类可以继承,接口不能定义方法体。
    4. 一个子类可以实现多个接口,但一个子类不能继承多个抽象类。

    示例

    在 Major Frameworks 中,为不同类型的数据源类使用接口。如果我们想为新引入的数据库创建数据源类,那么我们必须在我们的类中实现它们的接口,这样才能使代码和方法参数维护得很好。

    【讨论】:

    • 抽象类不能声明抽象私有方法。只能声明公共和受保护。但是,抽象类可以包含只能在类本身内部调用的私有方法
    猜你喜欢
    • 2015-03-13
    • 1970-01-01
    • 2011-09-21
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多