我现在正在使用代码学院网站学习php,但有些没有正确解释。
以下是条件:
Cat
的课程。$isAlive
应存储值true
,$numLegs
应包含值4. $name
属性,该属性通过__construct()
或。meow()
的公共方法,该方法返回"喵喵"。Cat
类的实例,其中包含$name
" CodeCat"。meow()
方法并回显结果。这是创建的代码:
<!DOCTYPE html>
<html>
<head>
<title> Challenge Time! </title>
<link type='text/css' rel='stylesheet' href='style.css'/>
</head>
<body>
<p>
<?php
// Your code here
class Cat {
public $isAlive = true;
public $numLegs = 4;
public $name ;
public function __construct() {
$cat->name = $name;;
}
public function meow(){
return "Meow meow";
}
}
$cat = new Cat(true ,4 , CodeCat);
echo $cat->meow();
?>
</p>
</body>
</html>
答案 0 :(得分:2)
有三个错误:
$cat
而不是
$this
CodeCat
应为字符串'CodeCat'
工作代码应如下所示:
<?php
// Your code here
class Cat {
public $isAlive = true;
public $numLegs = 4;
public $name ;
public function __construct($isAlive,$numLegs,$name) {
$this->name = $name;
$this->isAlive = $isAlive;
$this->numLegs = $numLegs;
}
public function meow(){
return "Meow meow";
}
}
$cat = new Cat(true ,4 , 'CodeCat');
echo $cat->meow();
?>
答案 1 :(得分:0)
在您的代码中,您有一个没有参数的构造函数,因此$name
将是未定义的。当你想创建一个新对象Cat
时,你用3个参数调用它,但是你没有这样的构造函数。
你想要的是一个带有1个参数$name
的构造函数,并用这个参数调用它:
<?php
// Your code here
class Cat {
public $isAlive = true;
public $numLegs = 4;
public $name ;
public function __construct($name) {
$this->name = $name;
}
public function meow(){
return $this->name;
}
}
$cat = new Cat('CodeCat'); //Like this you will set the name of the cat to CodeCat
echo $cat->meow(); //This will echo CodeCat
?>