首頁 > 後端開發 > php教程 > 生手类学习中,求理解

生手类学习中,求理解

WBOY
發布: 2016-06-13 13:01:37
原創
803 人瀏覽過

新手类学习中,求理解

本帖最后由 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 />
登入後複製
//程序报一个这样的错,不理解,
Fatal error: Call to a member function start() on a non-object in C:\wamp\www\PCI.php on line 63

------解决方案--------------------
class Person
{
    function install()
    {
        $mb=new MainBoard();
             
    }
}
你是指这个吗?
$mb 是在 install 方法中创建的,方法结束了,也就没有了
并不因为是类而改变了变量的作用域
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板