我正在研究一個十六進制顏色類,您可以在其中更改任何十六進制代碼顏色的顏色值。在我的例子中,我還沒有完成十六進制數學,但它與我在這裏解釋的內容並不完全相關。天真地,我想開始做一些我認爲不能做的事情。我想在方法調用中傳遞對象屬性。 這可能嗎?在類中通過引用傳遞變量?在php
class rgb {
private $r;
private $b;
private $g;
public function __construct($hexRgb) {
$this->r = substr($hexRgb, 0, 2);
$this->g = substr($hexRgb, 2, 2);
$this->b = substr($hexRgb, 4, 2);
}
private function add(& $color, $amount) {
$color += amount; // $color should be a class property, $this->r, etc.
}
public function addRed($amount) {
self::add($this->r, $amount);
}
public function addGreen($amount) {
self::add($this->g, $amount);
}
public function addBlue($amount) {
self::add($this->b, $amount);
}
}
如果無法做到這一點在PHP中,這是什麼叫在什麼語言這可能嗎?
我知道我可以做這樣的事情
public function add($var, $amount) {
if ($var == "r") {
$this->r += $amount
} else if ($var == "g") {
$this->g += $amount
} ...
}
但我想這樣做,這種冷靜的方式。
我剛測試出來,它似乎工作...我今天感覺像l33t h4X0r! – user151841 2010-04-29 15:17:21
你是精英haxx0r,因爲我今天自己想過這個! – r3wt 2014-12-19 20:39:34