本日的内容,是针对昨天的内容进行一次大略的代码实现
父类
子类
<?php
/
Class Person 根本父类
/
class Person
{
public $age; //年事
public $name; //姓名
public $height; //身高
/
@desc 说 方法
/
public function say()
{
}
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()}\"大众;
那可能会有朋友会说,何必设置成私有,还要供应一组方法,来设置值与获取值?实在这样做的好处便是,防止变量的值被肆意的乱改,能有效地掌握访问权限。
以上便是本日的内容,感激大家。