《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学院为您提供专业教程。