学习了类的创建,类中方法的创建,类的继承,以及成员访问限制。
作业:实例演示类的继承
实例
<?php namespace __0930; class demo{ public $name; public $age; public $sex; public function myName(){ return '我的名字是'.$this->name.',我今年'.$this->age.'岁,我是一个'.$this->sex.'的。'; } //使用构造方法来定义参数 public function __construct($name,$age,$sex){ $this->name=$name; $this->age=$age; $this->sex=$sex; } } //类的继承代码复用 class demo1 extends demo{ } $obj=new demo1('阿乎',22,'男'); echo $obj->myName().'<br>'; //类的继承功能扩展 class demo2 extends demo{ public $course; public function __construct($name,$age,$sex,$course){ parent::__construct($name,$age,$sex); $this->course=$course; } public function myName1(){ return parent::myName().'正在学习'.$this->course.'课程。'; } } $obj1=new demo2('小白','22','女','PHP'); echo $obj1->myName1().'<br>'; //类的继承方法重写 class demo3 extends demo{ public function myName(){ return '我是'.$this->name.',性别'.$this->sex.',今年'.$this->age.'岁了'; } } $obj2=new demo3('小新',5,'男'); echo $obj2->myName();
运行实例 »
点击 "运行实例" 按钮查看在线实例
作业:实例演示类的成员访问控制
实例
<?php namespace __0930; class demo4{ public $name; //public 类的内外都可以访问,子类中也可以访问 protected $age; //protected 类中可以访问,类外不可访问,子类可以访问 private $sex; //private类中可以访问,类外不可访问,子类不可以访问 public $hobby; public function __construct($name,$age,$sex,$hobby){ $this->name=$name; $this->age=$age; $this->sex=$sex; $this->hobby=$hobby; } public function getSex(){ return $this->sex; } public function getAge(){ /*if($this->sex==='女'){ return '女生的年龄不能看'; } return $this->age;*/ return $this->sex==='女' ? '女生的年龄不能看' : $this->age; } } $obj=new demo4('小白',22,'女','上网'); echo $obj->getAge(); echo '<br>'; $obj1=new demo4('小白',22,'男','上网'); echo $obj1->getAge();
运行实例 »
点击 "运行实例" 按钮查看在线实例
总结:类的继承作用主要是为了代码复用,功能扩展,方法重写;类的成员访问控制有三种,第一种是public,公共的,类的内外以及子类都可以访问,第二种,protected受保护的,类的内部可以访问,外部不可以访问,子类中可以访问,第三种,private私有的,除了类的内部,其余地方都不可以访问。类的访问控制可以用作网站某些特定的信息需要特殊权限才可以访问的时候。