1. 云栖社区>
  2. PHP教程>
  3. 正文

PHP基础巩固(六) 类

作者:用户 来源:互联网 时间:2017-12-01 14:56:50

php基础巩固

PHP基础巩固(六) 类 - 摘要: 本文讲的是PHP基础巩固(六) 类, 一、魔术方法__set和__get <?php//__set、__get方法用于对私有成员的赋值、访问class person{//此处先声明两个私有成员private name;private age;function __con

一、魔术方法__set和__get


<?php
//__set、__get方法用于对私有成员的赋值、访问class person{//此处先声明两个私有成员
private name;
private age;
function __construct($name = '陈浩南', $age = 25){
$this->name = $name;
$this->age = $age;
}

//当给私有成员赋值时,会访问__set方法,第一个形参代表访问的成员名称,第二个代表要赋给成员的值
function __set($setname, $setvalue){if ($setname == 'name'){
$this->name = $setvalue;
}
if ($setname == 'age'){
$this->age = $setvalue;
}
}
//当访问私有成员时,会访问__get方法,唯一形参表示要访问的成员名称
function __get($getname){
if ($getname == 'age'){
return '保密';
}
if ($getname == 'name'){
return $this->name;
}
}
}$person = new person();
echo $this->name;//陈浩南
$this->name = '山鸡';
$this->age = 24;
echo $this->name;//山鸡
echo $this->age; //保密

二、魔术方法__isset、__unset


<?php
//__isset和__unset这两个方法,分别是当私有成员在外部被isset()或unset()时被调用 public function __isset($issetname){if ($issetname == 'xxx'){

return isset($this->$issetname);
}
}
public function __unset($unsetname){
if ($unsetname == 'xxx'){
return unset($this->$unsetname);
}
}

三、关键字extends


用于类的继承,不多说


四、public、protected、private


公开的、受保护的、私有的


公开情况下,类内部,子类,类外部,都可以访问


受保护情况下,类内部,子类可以访问


私有的,只有在类内部可以访问


五、子类重载


PHP不支持方法重载,但继承了父类方法的子类,可以重载父类方法。此处需要注意的是,子类重载方法的访问权限不能低于父类,比如父类是protected 那么子类要是protected或者public,不能是private

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php , 基础 巩固 ,以便于您获取更多的相关知识。