我正在嘗試做一些我認爲很簡單的事情,但由於我在PHP中使用OOP相對較新,所以我遇到了一些麻煩。更改子類的受保護變量的值
這裏是我的代碼:
<?php
class MyClass
{
protected $variable = 'DEFAULT';
function __construct($newVariable)
{
$this->variable = $newVariable;
echo $this->variable;
}
}
class OtherClass extends MyClass
{
function __construct()
{
echo $this->variable;
}
}
$foo = new MyClass('MODIFIED'); // Output : MODIFIED
$bar = new OtherClass(); // Output : DEFAULT
?>
我搜索了很多不同的線程和網站,但還沒有找到我怎麼能$變量的重新定義價值可能傳遞到子類。 有人可以指導我通過它嗎?如果有辦法。
在此先感謝。
編輯明確什麼是我有這個問題的腳本實際發生的情況: 我有一個創建一個表單,並在班上有幾個變量,告訴功能我們是什麼環境在一類:如果這是一種多語言形式或不是,如果我想要一個簡單的形式或結構化的,這樣的參數。 其中一些環境變量是通過執行類的功能來修改的。
現在,由於我的頁面需要,我有一個專門用於創建「選擇」字段的子類。它繼承了主類的核心功能來創建字段等,但子類需要多個參數。 事情是,我仍然希望選擇類繼承主類中的環境參數,處於它們所處的狀態。
當我打字時,我意識到我接近它的方式可能不是正確的方式,因爲當我查看我的代碼時,我認爲可能有另一種方法來做到這一點。在我的代碼中,我有兩個對象,我只需要它就是一個,但我真的不知道我會如何實際執行。
你不重新定義變量,你只是將它設置在父母的構造函數。稱它爲你所需要的。 – hakre
這裏的OOP只是函數的繼承和它們的默認變量。這不是神奇地將兩個物體連接在一起。可悲的是。 –