批改状态:合格
老师批语:
<?php
//include, require的区别与联系, 与当前脚本的作用域的关系
//include,require最重要的区别就是:include在载入文件时如果出现错误,会报错,但代码还会正常运行下去;require在载入文件时如果出现问题将会直接终止代码运行。
//因此,include适合载入不太重要的外部文件,require适合载入重要的某种底层文件。它们与当前脚本共用一个作用域。
//将课堂上演示的类与对象的常用关键字,操作,以及几个魔术方法进行演示
class Competitor
{
//选手姓名
public $name;
//选手年龄
public $age;
//选手组别
public $group;
//选手性别
protected $isMale;
//随机一个静态属性
public static $count;
public function __construct(string $name, int $age, string $group, bool $isMale)
{
$this->age = $age;
$this->name = $name;
$this->group = $group;
$this->isMale = $isMale;
self::$count += 1;
}
public function getSex()
{
return $this->isMale;
}
public static function getCount()
{
return self::$count;
}
public function getInfo()
{
$arr = [
'age' => $this->age,
'name' => $this->name,
'group' => $this->group,
'isMale' => $this->isMale,
];
return $arr;
}
public function __get($value)
{
if (isset($this->$value) && $value != 'isMale') {
return $this->$value;
} else {
return 'Unknow Value';
}
}
public function __set($name, $value)
{
$this->$name = $value;
}
}
$competitor = new Competitor('叫我孙大树', 23, '青年组', true);
print_r($competitor->getInfo());
echo '<br>';
$competitor->aaaa = 666;
echo $competitor->aaaa . '<br>';
echo Competitor::$count . '<br>';
$test = new Competitor('test', 2, 'test', false);
echo Competitor::$count . '<br>';
echo $competitor->isMale . '<br>';
echo $competitor->getSex() ? '性别是:男<br>' : '性别是:女<br>';
echo $test->getSex() ? '性别是:男<br>' : '性别是:女<br>';点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号