この投稿は xuzuning によって最終編集されました: 2012-11-19 22:06:50
<?php<br />
interface PCI<br />
{<br />
function start();<br />
function stop();<br />
}<br />
class NetCard implements PCI<br />
{<br />
function start()<br />
{<br />
echo "网络连接成功<br>";<br />
}<br />
function stop()<br />
{<br />
echo"网络断开连接<br>";<br />
}<br />
}<br />
class SoundCard implements PCI<br />
{<br />
function start()<br />
{<br />
echo "有声音<br>";<br />
}<br />
function stop()<br />
{<br />
echo"没有可用的声卡设备<br>";<br />
}<br />
}<br />
class ViewCard implements PCI<br />
{<br />
function start()<br />
{<br />
echo "显示图像<br>";<br />
}<br />
function stop()<br />
{<br />
echo"没有可用的显卡设备<br>";<br />
}<br />
}<br />
class MainBoard <br />
{<br />
function usePCI($pci)<br />
{<br />
$pci->start();<br />
$pci->stop();<br />
}<br />
}<br />
class Person<br />
{<br />
function install()<br />
{<br />
$mb=new MainBoard();<br />
<br />
}<br />
}<br />
$p=new Person();<br />
$p->install();<br />
$nc=new NetCard;<br />
$mb->usePCI($nc);<br />
//プログラムはこのようなエラーを報告しますが、理解できません、
致命的なエラー: C:wampwwwPCI.php の 63 行目で非オブジェクトのメンバー関数 start() を呼び出します
-----解決策-------- - -----------クラスの人
{
関数 install()
{
}
}
ということですか?
$mb は install メソッド内で作成され、メソッドが終了すると消えます
変数はクラス
であるため、スコープは変更されません。