复制
收藏
提问
简洁
<?php ___(1)___ class Person{ protected $name; protected $age; ___(2)___ function eat(); } class Student ___(3)___ ___(4)___{ private ___(5)___; function ___(6)___($s,$n,$a){ $this->school=$s; $this->name=$n; $this->age=$a; } function ___(7)___($k){ return $this->$k; } function ___(8)___(){ return "淦饭人淦饭魂,淦饭方为人上人"; } } ?>
2月前
全网
文档
学术
百科
知识库
回答简洁模式
深入研究一些
在PHP中,类成员的访问控制是通过关键字来实现的,这些关键字包括public
、private
和protected
。以下是针对您提供的代码段的填空答案:
- 由于
Person
类没有继承自其他类,并且没有使用任何访问控制关键字,所以这里应该使用class
关键字来声明类。136 eat
方法没有指定访问控制关键字,根据PHP的规则,如果没有指定访问控制关键字,默认为public
。34Student
类继承自Person
类,所以这里应该使用extends
关键字来表示继承关系。7- 由于
Student
类继承自Person
类,并且没有特定的访问控制需求,这里可以使用public
关键字来声明类。3 - 构造函数的名称应该与类名相同,即
__construct
,并且由于它是构造函数,通常使用public
访问控制关键字。89 - 构造函数的参数列表应该包括
$s
、$n
和$a
,分别代表学校、姓名和年龄。9 - 访问器方法(getter)通常用于获取类的私有或受保护成员的值,这里的方法名可以是
getName
、getAge
或其他适当的名称,访问控制关键字应该是public
。24 - 这个方法是一个返回特定字符串的普通方法,可以使用
public
访问控制关键字。3
根据以上分析,您的代码应该修改为:
<?php
class Person{
protected $name;
protected $age;
public function eat() {
// 方法实现
}
}
class Student extends Person {
public function __construct($s, $n, $a){
$this->school = $s;
$this->name = $n;
$this->age = $a;
}
public function getName($k){
return $this->$k;
}
public function getDescription(){
return "淦饭人淦饭魂,淦饭方为人上人";
}
}
?>
请注意,getName
方法的参数$k
可能需要根据实际需求进行调整,以确保它能够正确地访问类的属性。10
你觉得结果怎么样?