oop - 如何决定是使用 IS A 还是 HAS A Relation

标签 oop

public class B {

    public String getMe()
    {
        return "Some";
    }
}

假设我有一个上面的类,我们应该通过哪些参数来决定使用什么??是关系还是有关系??

有一个
public class A {



    public static void main(String args[])
    {
        B b = new B();
        System.out.println(b.getMe());
    }
}

或者
public class A  extends B
{


    public static void main(String args[])
    {
        A b = new A();
        System.out.println(b.getMe());
    }
}

最佳答案

取决于逻辑关系。它只需要有意义。

例子:

假设您有动物类(class)。
所以你有这些类:动物,狗,猫,豹,毛皮,脚

猫和狗 动物。
豹纹猫。
动物 毛皮,脚。

简而言之:

关系意味着您继承和扩展基类的功能。
关系意味着该类正在使用另一个类,因此它将它作为成员。

关于oop - 如何决定是使用 IS A 还是 HAS A Relation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6395366/

相关文章:

c# - 如何扩展类并覆盖来自接口(interface)的方法?

具有从 `NameBase` 类到模板 `Name` 类的继承的 C++ 习惯用法(或模式)

function - 我应该如何在Perl中定义“静态”子例程?

python - 使用 super() 调用重载方法会产生 AttributeError

java - 成员函数返回/获取实例变量

oop - 为什么要添加: return the object added in Smalltalk collections?

python - 父访问在 Python 中子定义的类变量?

matlab - MATLAB 中抽象属性的用途是什么?

javascript - 如何在 Javascript 中动态设置在 Chrome 中显示的函数/对象名称

java - 抽象类返回