0

我正在制作一个适用于多项式和单项式的 PHP 脚本(单项式的一个例子是42xk^2c^3d)。该类Monomial定义如下:

class Monomial {
    public $coefficient; // i.e. 42
    public $letters;     // an array of Letter objects
    public $literal;     // i.e. xk^2c^3d
    /* Code */
}

现在,在我的应用程序中,我同时使用了字母数组和文字变量。我不想在更新literal单项式时“手动”更新变量(例如,向其中添加内容时):相反,我希望它是动态的,以便访问它调用一个函数来“构建”它。有任何想法吗?

4

2 回答 2

2

编写一个函数setLetters(甚至updateMonomial)来更新您的变量并使用它而不是直接访问变量。不公开类成员通常是个好主意。

于 2013-09-22T18:16:36.567 回答
0

使用__get方法。一个例子:

class Monomial {
    public $coefficient;
    public $letters;
    public $literal;

    function __get($var) {
        if ($var != "literal") {
            return $this->data[$var];
        } else {
            foreach ($this->letters as $letter) {
                $return.=$letter->literal;
            }
            return $return;
        }
}

对象中会有一个类似的__get方法,Letter可以根据请求生成文字字符串。

于 2013-09-24T17:46:53.413 回答