问个php关于面对对象的问题

<?phpclasszip{functiontype(){echo"2.0";}functionalert(){echo"正在检查U盘驱动";}}classmp3{fun... <?php
class zip{
function type(){
echo "2.0";
}
function alert(){
echo "正在检查 U盘驱动";
}
}

class mp3{
function type(){
echo "1.0";
}
function alert(){
echo "正在检查 mp3驱动";
}
}

class mypc{
function pcusb($what){
$what->type();
$what->alert();
}
}

$pc=new mypc();
$zip=new zip();
$mp3=new mp3();
$pc->pcusb($zip);
?>

问题是:mypc被实例化之后对象方法pcusb()是如何可以调用到zip()或者mp3()这两个对象。我把pcusb的$what参数给去掉然后把$what->type(); $what->alert();都改成$mp3->type(); $mp3->alert();直接调用就会提示错误。就是不明白这几个类之间的关系
谁能帮我解决这个疑问,再追加分数
展开
 我来答
百度网友0c90796
2010-08-23 · TA获得超过1611个赞
知道大有可为答主
回答量:2638
采纳率:0%
帮助的人:1091万
展开全部
<?php
class zip{
function type(){
echo "2.0";
}
function alert(){
echo "正在检查 U盘驱动";
}
}

class mp3{
function type(){
echo "1.0";
}
function alert(){
echo "正在检查 mp3驱动";
}
}

class mypc{
function pcusb($what){
$what->type();
$what->alert();
}
}

$pc=new mypc();//这里不调用任何方法
$zip=new zip();//这里不调用任何方法
$mp3=new mp3();//这里不调用任何方法
$pc->pcusb($zip);
/*这里传入一个zip类的实例到mypc类的一个实例,并调用pcusb方法,现在让我们看
function pcusb($what){//这里的$what变量是zip类的一个实例
$what->type();调用zip类实例的type方法输出 2.0
$what->alert();//调用zip类实例的alert方法输出 正在检查 U盘驱动
}
*/
?>

参考资料: phptogether.com

cole519
2010-08-23 · TA获得超过142个赞
知道小有建树答主
回答量:86
采纳率:0%
帮助的人:74.4万
展开全部
在这个类里面实例化别的类就可以调用别的类的方法或者属性
class mypc{
function pcusb(){
$newzip_class = new zip();
$newzip_class-> type();
$newmp3_class = new mp3();
$newmp3_class->alert();
}
然后实例化mypc这个类就可以调用这个类的属性了
$mypc = new mypc();
$mypc->psusb();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式