如果Class :: Method();是什么关系?在课堂上

时间:2014-11-16 19:17:07

标签: php oop

如果我有课程:

class ClassA
{
    private $data;

    public function GetData()
    {
        ClassB::ConvertData($this->data);
    }
}

class ClassB
{
    public static function ConvertData($data)
    {
        // Do something with data
        return $data;
    }
}

...那么ClassAClassB之间的关系是什么?我看到它的方式不是合成,因为ClassA没有ClassB的对象实例,但仍使用其中一种方法。我倾向于相信这是一个依赖,但ClassA没有收到ClassB的实例 - 既不通过构造函数也不通过方法。

一些其他但相关的问题:

  1. 如果ClassB是抽象的,会有区别吗?
  2. 如果这两个类之间没有传递/返回数据会有区别吗?
  3. 感谢您的阅读,我非常感谢您的帮助。仅仅为了澄清,我尝试了多次搜索,但我不确定如何在www上搜索这个。

1 个答案:

答案 0 :(得分:1)

  

... 调用usage dependency,指定源操作调用目标操作...

     

调用用标准构造型«call»表示,其源是一个操作,其目标也是一个操作。

     

此关系也可以应用于包含操作的类,其含义是依赖项所适用的类中存在操作...

     

来源:uml-diagrams.org: Dependency in UML