生手类学习中,求理解

原创
2016-06-13 11:06:55 515浏览

新手类学习中,求理解

本帖最后由 xuzuning 于 2012-11-19 22:06:50 编辑
interface PCI
{
function start();
function stop();
}
class NetCard implements PCI
{
function start()
{
echo "网络连接成功
";
}
function stop()
{
echo"网络断开连接
";
}
}
class SoundCard implements PCI
{
function start()
{
echo "有声音
";
}
function stop()
{
echo"没有可用的声卡设备
";
}
}
class ViewCard implements PCI
{
function start()
{
echo "显示图像
";
}
function stop()
{
echo"没有可用的显卡设备
";
}
}
class MainBoard
{
function usePCI($pci)
{
$pci->start();
$pci->stop();
}
}
class Person
{
function install()
{
$mb=new MainBoard();

}
}
$p=new Person();
$p->install();
$nc=new NetCard;
$mb->usePCI($nc);
//程序报一个这样的错,不理解,
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 方法中创建的,方法结束了,也就没有了
并不因为是类而改变了变量的作用域
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。