【发布时间】:2013-11-29 21:46:31
【问题描述】:
在我开始的 PHP 课程中,我们第一次学习对象和类。我的作业问题是:
- 创建 (a) 一个名为“Human”的父类(又名“超类”),其中一个名为“legs”的变量和一个名为“walk”的函数(又名“方法”),(b) 设置“腿”到 2,并且 (c) 使“行走”功能显示“人类可以行走”。当它被调用时。
- 创建 (a) 一个名为“Kids”的子类(也称为“子类”),它将继承“Human”类的所有成员,(b) 创建 Kids 类的变量“hands”并设置其默认值为 2,并且 (c) 创建一个名为“jump”的 Kids 类的函数,该函数显示一条消息“A kids can jump”。
- 创建一个名为“Kuma”的“Kids”类对象,(c) 使用“Kuma”对象显示腿数并调用“walk”函数。
结果应该打印出来:
两条腿
人类可以走路。
2 手
小孩会跳。
到目前为止,这是我的代码。我对 #3 中的说明有困难。
class Human {
var $legs = 2;
var $content = "<p>Humans can walk.</p>";
function Walk($Kuma) {
echo $this->legs . " legs";
echo $this->content;
}
}
class Kids extends Human {
var $hands = 2;
var $content2 = "<p>A kid can jump.</p>";
function Jump($Kuma) {
echo $this->hands;
echo $this->content2;
}
}
$obj = new Kids(Kuma);
$obj -> Walk(Kuma);
?>
【问题讨论】:
-
$Kuma = new Kids(); $Kuma->Walk(); -
虽然“名称”一词在您的说明中用于 2 个不同的上下文(类名称和实例名称),但我认为“Kuma”的要求是为实例命名:
$Kuma = new Kids() -
首先,你应该开始在你的代码中缩进!
-
@MarkBaker,我尝试使用
$Kuma = new Kids(); $Kuma->Walk();错误消失了,但我无法得到最后两行输出:“2 hands”和“A child can jump”。有什么建议吗? -
@MarkBaker 哇,谢谢!就这么简单。还在学习中...