文档章节

php类与继承

l
 liuzhihe
发布于 2017/09/08 10:25
字数 328
阅读 1
收藏 0
  1. php类自身调用的重要方式
    1. php中重要的几个调用自身的属性和方法$this->,self::,parent::以及static::
  2. php在类的继承中父类方法调用自身静态方法时,可以使用self::以及static::,两者之间的区别为
    1. 使用slef时如果子类父类的属性时,子类调动父类方法获取重写的属性仍未父类的属性值
    2. 使用static时如果子类父类的属性时,子类调动父类方法获取的重写属性为子类重写后的值
    3. 一下代码为演示项代码
      <?php
      /**
       * Created by PhpStorm.
       * User: aly
       * Date: 2016/11/30
       * Time: 14:56
       */
      
      namespace ceshi;
      
      
      class Person
      {
          public  $name='帅哥';
          protected  $age='20';
          private  $sex='男';
          public static  $a1=11;
      
          public static  $a=88;
          public function say(){
              echo $this->age;
              echo $this->name;
          }
          public static function showStatic(){
              echo static::$a1;
          }
          public  function getStatic(){
              echo self::$a1;
          }
      }
      interface IStudent{
          public function myStudent();
      }
      interface IStudent1 extends IStudent {
          public function myStudent1();
      }
      class Student extends Person implements IStudent1
      {
          public $name = '美女';
          const counts=1;
          public static $a='test';
          public static $a1='test';
          public function say()
          {
              echo $this->age;
              echo $this->name;
              echo self::counts;
              echo $this::counts;
              echo self::$a;
          }
          public function myStudent(){
      
          }
          public function myStudent1(){
      
          }
          function __construct(){
              $this->name='qi';
          }
      }
      
      $student=new Student();
      $student->getStatic();//因为使用的是self所以获取的还是父类的$a1=11的值
      Student::showStatic();//因为使用的是static所以获取的是子类的$a1=test的值
      
      echo '<br/>';
      
      

       

 

© 著作权归作者所有

共有 人打赏支持
l
粉丝 0
博文 25
码字总数 8731
作品 0
PHP中关于面向对象程序设计的相关简介

PHP面向对象程序设计 面向对象的程序设计(Object Oriented Programming) 一、面向对象程序设计的概念 PHP引进的面向对象的设计方法,将数据及处理数据的相应函数“封装”到一个“类(class...

PXZ6603
2016/08/20
0
0
PHP 方法覆盖override 与 抽象方法的实现之间的关系

Overload重载:重载是多态的基础,是方法名相同但根据参数不同做不同的处理,PHP是弱类型语言,不能直观的实现方法重载 Override覆盖:覆盖是子类继承父类方法并对齐进行重新构造,方法名相同...

big_cat
2015/09/13
397
0
php trait 简明教程,多重继承的实现方案

http://php.net/manual/en/language.oop5.traits.php 自PHP5.4.0起,PHP实现了代码复用的一个方法,称为traints。 Traits是一种为类似PHP的单继承语音而准备的代码复用机制。Trait为了减少单...

雪之丞
2016/03/28
53
0
PHP核心技术与最佳实践 读书笔记 第一章面向对象思想的核心概念

第一章 面向对象思想的核心概念 面向对象程序设计是一种程序设计范型,同时也是一种程序开发方法。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性,灵活性和可扩展性...

lilugirl
2013/06/08
0
0
PHP中关于面向对象程序设计的相关简介

PHP面向对象程序设计 面向对象的程序设计(Object Oriented Programming) 一、面向对象程序设计的概念 PHP引进的面向对象的设计方法,将数据及处理数据的相应函数“封装”到一个“类(class...

PXZ6603
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java中的移位运算符

国庆给自己放了个小长期二十几天,回来继续更新专栏 上一篇文章我们说了Java里的二进制,知道了计算机是以0和1来处理数据的,在阅读源码的过程中,经常会看到这些符号<< ,>>,>>>,这些符号...

SuShine
21分钟前
2
0
linux版QQ

下载地址在这 http://yun.tzmm.com.cn/index.php/s/XRbfi6aOIjv5gwj Appimage包不用做什么别的处理,安装啥的都不需要。。找到文件所在目录,终端中修改一下文件的权限 chmod 777 QQ-2017112...

悲催的古灵武士
27分钟前
1
0
咕泡-MyBatis 实用篇作业

1. Mapper在spring管理下其实是单例,为什么可以是一个单例? 首先,mapper 内部不包含 成员字段,无状态单例是安全的 另外,一直存在不用每次调用都new 一个新实例 2. MyBatis在Spring集成下...

职业搬砖20年
30分钟前
2
0
MQTT协议的初浅认识之连接建立

MQTT百科 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布...

亚林瓜子
47分钟前
1
0
OpenStack部署都有哪些方式

对于每一个刚接触到OpenStack的新人而言,安装无疑是最困难的,同时这也客观上提高了大家学习OpenStack云计算的技术门槛。想一想,自己3年前网上偶然接触到OpenStack时,一头茫然,手动搭建一...

tututu_jiang
47分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部