批改状态:合格
老师批语:
<?php
class demo{
public $name='小布';
}
$demo=new demo();
$demo->name='小小布';
$demo->sex='男';
$demo->dingyi=function (){
return '自定义类方法';
};
echo $demo->name,':',$demo->sex,'<br>';
echo call_user_func($demo->dingyi);点击 "运行实例" 按钮查看在线实例
<?php
class demo1
{
const SITE_NAME='做作业';
private $name;
private $course;
private $grade;
//构造方法
public function __construct($name,$course,$grade)
{
$this->name=$name;
$this->course = $course;
$this->grade = $grade;
echo $this->show();
}
//输出属性内容
public function show()
{
return $this->name.'的《'.$this->course.'》课程的成绩是: '.$this->grade.'分!';
}
//获取
public function __get($name)
{
if ($name=='grade'){
return $name.'不允许查看';
}
return $this->$name;
}
//设置
public function __set($name, $value)
{
if ($name == 'grade') {
echo $name.'不允许修改','<br>';
}
$this->$name = $value;
}
//检测
public function __isset($name)
{
if ($name == 'grade') {
return false;
}
return isset($this->$name);
}
//销毁
public function __unset($name)
{
if ($name == 'grade' || $name == 'name') {
return false;
}
unset($this->$name);
}
}
echo '名称:',demo1::SITE_NAME,'<br>';
$demo1=new demo1('小布','PHP',100);
echo '<hr>';
echo $demo1->show();
echo '姓名:',$demo1->name,'<br>';
echo '成绩:',$demo1->name,'<br>';
$demo1->course='C++';
echo '课程: ', $demo1->course,'<br>';
echo isset($demo1->name) ? '存在<br>' : '<span style="color:red">不存在</span><br>';
unset($demo1->course);
echo $demo1->course,'<br>';点击 "运行实例" 按钮查看在线实例
<?php
class Demo3
{
//父类属性
public $name;
protected $age;
private $salary;
const APP_NAME='学生管理系统';
//父类构造器
public function __construct($name,$age)
{
$this->name=$name;
$this->age=$age;
}
//属性重载
public function __get($name)
{
if(isset($this->$name)){
return $this->$name;
}
return '非法属性';
}
}
class Demo3_1 extends Demo3
{
//子类属性
private $sex;
const APP_NAME='教师管理系统';
//子类将父类同名方法进行重写
public function __construct($name,$age,$sex='男')
{
parent::__construct($name,$age);
$this->sex=$sex;
}
public function __get($name)
{
if (isset($this->$name)) {
return $this->$name;
}
return '非法属性';
}
}
$demo3_1=new Demo3('小李飞刀','60');
echo $demo3_1->name.'<br>';
echo $demo3_1->age.'<br>';
echo $demo3_1->salary.'<br>';
echo Demo3_1::APP_NAME.'<br>';
echo $demo3_1->sex;点击 "运行实例" 按钮查看在线实例
class Demo4
{
public static $pdo = null;
protected static $db =
[
'type' => 'mysql',
'host' => 'localhost',
'dbname' => 'edu',
'user' => 'root',
'pass' => 'root',
];
public static function connect()
{
$dsn = self::$db['type'].':host='.self::$db['host'].';dbname='.self::$db['dbname'];
self::$pdo = new PDO($dsn,self::$db['user'],self::$db['pass']);
}
}
Demo4::connect();点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号