我不确定如何在UML类图中表示这种情况。
我的意思的例子:
一个典型的Mysql类处理数据库连接,但将语句的构造和执行委托给另一个名为MysqlStatement的类,以便Mysql类具有一个名为Mysql :: prepare()的方法,该方法返回Mysqlstatement类(不包含该类),例如所以:
class Mysql extends DB_Connection {
public function connect($user, $pass, $dbhost, $dbname)
{
$this->dbh = mysql_connect($dbhost, $user, $pass);
// ...
}
/**
* Connects to the DB, then creates and returns the statement object
* @param string $query
* @return MysqlStatement
*/
public function prepare($query)
{
if (! $this->dbh) $this->connect();
return new MysqlStatement($this->dbh, $query);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,据我所知,没有组成/聚合/关联,因为没有一个类包含另一个。因此,我不确定如何表示这种关系。我需要这样做以使一切井井有条,并对系统有所了解。