本日的内容,是针对昨天的内容进行一次大略的代码实现

父类

子类

php自己写类PHP进修第十四课类的简略单纯实现 Python

<?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()}\公众;

那可能会有朋友会说,何必设置成私有,还要供应一组方法,来设置值与获取值?实在这样做的好处便是,防止变量的值被肆意的乱改,能有效地掌握访问权限。

以上便是本日的内容,感激大家。