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

生手类学习中,求理解

Jun 13, 2016 pm 01:01 PM
class function nbsp pci start

新手类学习中,求理解

本帖最后由 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 方法中创建的,方法结束了,也就没有了
并不因为是类而改变了变量的作用域
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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Solution: Your organization requires you to change your PIN Solution: Your organization requires you to change your PIN Oct 04, 2023 pm 05:45 PM

Solution: Your organization requires you to change your PIN

How to adjust window border settings on Windows 11: Change color and size How to adjust window border settings on Windows 11: Change color and size Sep 22, 2023 am 11:37 AM

How to adjust window border settings on Windows 11: Change color and size

How to change title bar color on Windows 11? How to change title bar color on Windows 11? Sep 14, 2023 pm 03:33 PM

How to change title bar color on Windows 11?

How to enable or disable taskbar thumbnail previews on Windows 11 How to enable or disable taskbar thumbnail previews on Windows 11 Sep 15, 2023 pm 03:57 PM

How to enable or disable taskbar thumbnail previews on Windows 11

OOBELANGUAGE Error Problems in Windows 11/10 Repair OOBELANGUAGE Error Problems in Windows 11/10 Repair Jul 16, 2023 pm 03:29 PM

OOBELANGUAGE Error Problems in Windows 11/10 Repair

Display scaling guide on Windows 11 Display scaling guide on Windows 11 Sep 19, 2023 pm 06:45 PM

Display scaling guide on Windows 11

10 Ways to Adjust Brightness on Windows 11 10 Ways to Adjust Brightness on Windows 11 Dec 18, 2023 pm 02:21 PM

10 Ways to Adjust Brightness on Windows 11

How to turn off private browsing authentication for iPhone in Safari? How to turn off private browsing authentication for iPhone in Safari? Nov 29, 2023 pm 11:21 PM

How to turn off private browsing authentication for iPhone in Safari?

See all articles