Heim  >  Artikel  >  Backend-Entwicklung  >  生手类学习中,求理解

生手类学习中,求理解

WBOY
WBOYOriginal
2016-06-13 13:01:37772Durchsuche

新手类学习中,求理解

本帖最后由 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 方法中创建的,方法结束了,也就没有了
并不因为是类而改变了变量的作用域
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn