<?
//parent::关键字
/**
* PHP5中使用parent::来引用父类的方法。
* parent:: 可用于调用父类中定义的成员方法。
* parent::的追溯不仅于直接父类。
*/
//通过parent::调用父类方法
//声明一个员工类,经理类继承自员工类
class employee{
protected $sal = 3000;
public function getSal(){
$this->sal = $this->sal + 1200;
return $this->sal;
}
}
class Manager extends employee{
//如果想让经理在员工工资的基础上多发1500元
//必须先调用父类的getSal()方法
public function getSal(){
parent::getSal();
$this->sal = $this->sal + 1500;
return $this->sal;
}
}
$emp = new employee();
echo "普通员工的工资是 " . $emp->getSal();
echo "<br>";
$manager = new Manager();
echo "经理的工资是 " . $manager->getSal();
?>
<?
//父类的private属性
//Private属性是不能被继承的,如果父类有私有的属性。
//那么父类的方法只为父类的私有属性服务。
class employee{
private $sal = 3000;
public function getSal(){
return $this->sal;
}
}
class Manager extends employee{
protected $sal = 5000;
public function getParentSal(){
//这里返回的是父类的private属性
return parent::getSal();
}
}
$manager = new Manager();
echo "PHP" . phpversion()."<br>";
//那么父类的方法只为父类的私有属性服务。
echo $manager->getSal();
echo "<br>";
echo "parent's \$sal ".$manager->getParentSal();
?>
<?
//如果父类中的属性被子类重写了。
class employee{
protected $sal = 3000;
public function getSal(){
return $this->sal;
}
}
class Manager extends employee{
protected $sal = 5000;
public function getParentSal(){
//父类的protected属性已经被子类重写了
return parent::getSal();
}
}
$manager = new Manager();
echo "PHP" . phpversion()."<br>";
echo $manager->getSal();
echo "<br>";
echo "parent's \$sal ".$manager->getParentSal();
?>
<?
//子类中重写的方法对当前private有效。
class employee{
private $sal = 3000;
public function getSal(){
return $this->sal;
}
}
class Manager extends employee{
private $sal = 5000;
//重写父类的方法
public function getSal(){
return $this->sal;
}
public function getParentSal(){
//这里返回的是父类的private属性
return parent::getSal();
}
}
$manager = new Manager();
echo "PHP" . phpversion()."<br>";
echo $manager->getSal();
echo "<br>";
echo "parent's \$sal ".$manager->getParentSal();
?>
分享到:
相关推荐
PHP5中的this self和parent关键字详解PHP5中的this self和parent关键字详解
本文实例讲述了PHP面向对象程序设计中的self、static、parent关键字用法.分享给大家供大家参考,具体如下: 看到php里面有关于后期静态绑定的内容,虽然没有完全看懂,但是也收获不少东西。 php官方手册介绍: ...
最近在做THINKPHP开发项目中,用到了 parent:: 关键字,实际上 parent::关键字 是PHP中常要用到的一个功能,这不仅仅是在 THINKPHP 项目开发中,即使是一个小型的企业站点,也会有许多相同的function功能,我们可以...
计算机后端-PHP视频教程. php之面向对象18 self和parent.wmv
PHP 5.2 标准课程初级parent 与self 关键字
PHP 5首席设计师Andi Gutmans,PEAR创始人Stig Saether Bakken,PHP核心贡献者Derick Rethans三大高手合力而作:本书几乎囊括了PHP 5所有的新特性,包括PHP 5所有的新功能,PHP 5的面向对象编程方法和设计模式,以及...
PHP 5.2 标准课程初级parent 与 self 关键字_1
PHP 5.2 标准课程初级parent 与 self 关键字_2
PHP中面向对象常考的知识点有以下7点,我将会从以下几点进行详细介绍说明,帮助你更好的应对PHP面试常考的面向对象相关的知识点和考题。 整个面向对象文章的结构涉及的内容模块有: 一、面向对象与面向过程有什么...
首先我们来明白上面三个关键字: this,self,parent,从字面上比较好理解,是指这,自己,父亲,呵呵,比较好玩了,我们先建立几个概念,这三个关键字分别是用在什么地方呢?我们初步解释一下,this是指向当前对象的指针(我们...
谷歌浏览器的一个新特点——关于获取iframe的parent对象Demo.zip,欢迎下载!!!
PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性。这里我主要谈的是this,self,parent 三个关键字之间的区别。从字面上来理解,分别是指...
本文实例讲述了JS实现面向对象继承的5种方式。分享给大家供大家参考,具体如下: js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现...
1.1.17 OOP技术——面向对象编程技术 18 1.1.18 ReadLine方法——从当前流中读取一行字符 20 1.1.19 typeof运算符——获得系统原型对象的类型 21 1.1.20 using关键字——引入命名空间 22 1.1.21 WriteLine方法——...
本文实例讲述了PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作。分享给大家供大家参考,具体如下: 在PHP中,会遇到这样的情况,子类继承父类,但是又需要对父类的属性和方法进行一定的扩展,这时子类...
PHP5经过重写后,对OOP的支持额有了很大的飞跃,成为了具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性。这里我主要谈的是 this,self,parent 三个关键字之间的区别。从字面上来理解,分别是...