Home > Backend Development > PHP Tutorial > 生手类学习中,求理解

生手类学习中,求理解

WBOY
Release: 2016-06-13 13:01:37
Original
802 people have browsed it

新手类学习中,求理解

本帖最后由 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 />
Copy after login
//程序报一个这样的错,不理解,
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 方法中创建的,方法结束了,也就没有了
并不因为是类而改变了变量的作用域
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template