《PHP學習第十四課:類的簡易實現》要點:
本文介紹了PHP學習第十四課:類的簡易實現,希望對您有用。如果有疑問,可以聯系我們。
感謝關注PHP學習坊,文章內容由PHP學習坊收集整理,如有錯誤或者疏漏之處,歡迎在評論區指出,也歡迎大家積極評論轉發.小編需要來自你們訂閱、評論的支持,吐槽也好,支持也罷,歡迎大家積極評論.
本日的內容,是針對昨天的內容進行一次簡單的代碼實現
父類
子類
<?php
/**
* Class Person 基礎父類
*/
class Person
{
public $age; //年齡
public $name; //姓名
public $height; //身高
/**
* @desc 說 辦法
*/
public function say()
{
return "我會說話";
}
public function sing()
{
return "我會唱歌";
}
}
class FengGong extends Person
{
public function say()
{
$parent = parent::say(); // 實現父類的say辦法
//下面是自己獨有的內容
return $parent." 我不僅會說,而且能說相聲\n";
}
}
$person = new FengGong();
//為各個成員變量賦值
$person->age = 20;
$person->name = '馮鞏';
$person->height = 180;
echo "我叫 {$person->name} , 我本年 {$person->age} , 我的身高 {$person->height} , 我的能力 {$person->say()}";
?>
有興趣的朋友可以手動敲一遍代碼,自己體會下.但是大家可能注意到一點,對于成員變量,用的都是 public ,要使用private呢?這就需要提供一組set 和get辦法.具體代碼如下:
<?php
/**
* Created by PhpStorm.
* User: PHP學習坊
* Date: 17/2/26
* Time: 下午6:57
*/
/**
* Class Person 基礎父類
*/
class Person
{
private $age; //年齡
private $name; //姓名
private $height; //身高
/**
* @desc 說 辦法
*/
public function say()
{
return "我會說話";
}
public function sing()
{
return "我會唱歌";
}
public function set( $property , $value )
{
$this->{$property} = $value;
}
public function get( $property )
{
return $this->{$property};
}
}
class FengGong extends Person
{
public function say()
{
$parent = parent::say(); // 實現父類的say辦法
//下面是自己獨有的內容
return $parent." 我不僅會說,而且能說相聲\n";
}
}
$person = new FengGong();
//為各個成員變量賦值
/*
* 這時候這樣賦值是會報錯的,同理之前的拜訪也會報錯
* $person->age = 20;
* $person->name = '馮鞏';
* $person->height = 180;
*/
$property = array(
'age' => 20,
'name' => '馮鞏',
'height'=> 180
);
foreach ( $property as $key => $value ) {
$person->set( $key , $value );
}
echo "我叫 {$person->get('name')} , 我本年 {$person->get( 'age' )} , 我的身高 {$person->get('height')} , 我的能力 {$person->say()}";
那可能會有朋友會說,何必設置成私有,還要提供一組方法,來設置值與獲取值?其實這樣做的好處就是,防止變量的值被肆意的亂改,能有效地控制拜訪權限.
以上就是本日的內容,謝謝大家.
歡迎參與《PHP學習第十四課:類的簡易實現》討論,分享您的想法,維易PHP學院為您提供專業教程。