<?php //封装的目的是为了让一个类更加安全 做法就是将成员变量变为私有,在类里面做方法来简介访问成员变量,在方法里面加控制 例: class Ren { public $code;//代号 private $name;//名字 private $sex;//性别 private $age;//年龄,必须在18-50周岁之间 //首先构造方法,用来初始化性别 function __construct($s) { $this->sex=$s; } //构造一个修改年龄的方法 function SetAge($a) { //需要加一个控制来实现年龄在18-50岁之间 if ($a>18 && $a<50) { $this->age = $a; } } //造一个获取age值得方法 function getAge() { return $this->age; } //用魔术方法给变量赋值 function __set($n,$v) { if($n=="age") { if($v>18 && $v<50) { $this->$n = $v; } } else { $this->$n = $v;//这句代码和上一句一样,是为了给其他代码提供方法 } } //用__get魔术方法来获取变量的值 function __get($n) { return $this->$n; } } //造对象 $r = new Ren("男"); $r->SetAge(30); $r->__set("age",30); $r->age = 30;//自动调用__set()方法,将变量名当作第一个参数,将等号右边的值当作第二个参数 $r->name = "张三"; var_dump($r);//检查输出所有元素 //echo输出元素值 一个 ?>
一。封装
目的:让类更安全
做法:成员变量变为私有的,通过方法间接操作成员变量,在方法里面加限制条件
二、继承
概念:子类可以继承父类的一切
方法重写:在子类里面对父类进行方法重写
特点:单继承:一个子类可以有多个父类,一个父类可以派生出多个子类
override:方法重写
overload:重载,编辑多态
三。多态(运行多态)
概念:父类引用子类实例,由于子类里面对父类的方法进行重写,父类引用在调用该方法的时候表现出的不同状态
条件:1必须发生在集成下
2必须重写父类方法
3父类引用调用方法
如果一个方法需要一个父类参数,可以给一个子类对象