ホームページ  >  記事  >  バックエンド開発  >  初心者向けの学習時に理解を求める

初心者向けの学習時に理解を求める

WBOY
WBOYオリジナル
2016-06-13 13:01:37772ブラウズ

初心者向けに勉強中です、ご理解ください

この投稿は 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 メソッド内で作成され、メソッドが終了すると消えます
変数はクラス

であるため、スコープは変更されません。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。