批改狀態(tài):未批改
老師批語:
創(chuàng)建類
<?php class Kaoshi { //聲明屬性 private $name; private $zongfen; private $fenshu; private $data=[]; //構(gòu)造方法 public function __construct($name='',$zongfen=0,array $fenshu=[]) { $this->name = $name; $this->zongfen = $zongfen; $this->fenshu = $fenshu; } //魔術(shù)方法:查詢器 public function __get($name) { $msg = null; if (isset($this->$name)) { $msg = $this->$name; } elseif (isset($this->data[$name])) { $msg = $this->data[$name]; } else { $msg = '無此屬性'; } return $msg; } //魔術(shù)方法:設(shè)置器 public function __set($name, $value) { //設(shè)置器,實(shí)現(xiàn)對(duì)不存在屬性的創(chuàng)建 如果訪問的是已存在的屬性,則直接輸出 if (isset($this->$name)) { $this->$name = $value; //輸出屬性 } else { //如果屬性不存在,則創(chuàng)建它并保存到類屬性$data數(shù)組中 $this->data[$name] = $value; } } }
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
類的實(shí)例化及屬性引用
<meta charset=utf-8> <meta name=description content=""> <meta name=viewport content="width=device-width, initial-scale=1"> <?php include 'class/KaoShi.php'; $kaoshi = new Kaoshi('蘇三',843,[95,91,92,95,94,98,96,90,92]); //測(cè)試魔術(shù)方法__get() echo '姓名: ',$kaoshi->name,'<br>'; echo '總分: ',$kaoshi->zongfen, '<br>'; echo '各科分?jǐn)?shù): ', print_r($kaoshi->fenshu,true), '<br>'; // //獲取不存在的屬性 echo '平均分:', $kaoshi->pjf, '<br>'; echo '<hr>'; //測(cè)試魔術(shù)方法: __set() $kaoshi->name = '李四'; $kaoshi->zongfen = 843; $kaoshi->fenshu = [95,91,92,95,94,98,96,90,92]; echo '姓名: ',$kaoshi->name,'<br>'; echo '總分: ',$kaoshi->zongfen, '<br>'; echo '各科分?jǐn)?shù): ', print_r($kaoshi->fenshu,true), '<br>'; echo '<hr>'; echo '下面是自定義新創(chuàng)建的屬性'; $kaoshi->pjf = 93.67; echo '平均分: ',$kaoshi->pjf, '<br>'; $kaoshi->sex = 1; $kaoshi->mobile = 13988888888; // echo '性別:',$kaoshi->sex,'<br>'; echo '性別:'.($kaoshi->sex?'男':'女').'<br>'; echo '手機(jī)號(hào)碼:',$kaoshi->mobile;
點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)