文档章节

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/>';
      
      

       

 

© 著作权归作者所有

共有 人打赏支持
上一篇: javascript闭包
下一篇: yaf设置运行目录
l
粉丝 0
博文 25
码字总数 8731
作品 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
2018/06/26
0
0
THINKPHP的_initialize方法

1、PHP中只有construct方法为构造方法,会自动执行,_initialize方法本身不是构造方法,不会自动执行,只是在thinkphp的Controller.class.php中我们可以看到如下代码 public function constr...

tree2013
2016/03/11
501
0
关于php语言

1 首先,php语言是一门动态语言,弱类型,解释执行; 2 其次,说说php的语法,他的语法跟c++的类似,与其他脚本语言ruby/python有区别,区别只不过是语法糖多或少的问题; 3 然后,说说编程思想...

shigebeyond
2014/07/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

AWK用法入门详解

AWK用法入门详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将...

linjin200
2分钟前
0
0
Centos7 搭建Gitlab服务器并配置项目全过程

一、在Centos7上安装Gitlab 之前尝试过直接yum安装,但服务器从该yum源下载实在太慢,故手动下载rpm包安装。 1.先安装相关依赖 yum -y install policycoreutils openssh-server openssh-clie...

sjcehui2010
22分钟前
1
0
实现基于JWT的Token登录验证功能

前言 放假之前做了几个小项目+课设,都用到了token实现登录验证和权限判断,然鹅当时和同组的小伙伴也都是第一次接触到了token,于是乎都是一脸懵逼(xjbx)的写完了登录验证的前后端逻辑(我...

鱼煎
22分钟前
0
0
数学表达式计算 MathParser.org-mXparser

背景 在系统中需要计算公式,参数可以配置,类似excel的情况,可以实现数据的计算。 mXparser 实例 public static void main(String[] args) throws InterruptedException { Argume...

翱翔fly
28分钟前
1
0
即将开源 | 2亿用户背后的Flutter应用框架Fish Redux

背景 在闲鱼深度使用 Flutter 开发过程中,我们遇到了业务代码耦合严重,代码可维护性糟糕,如入泥泞。对于闲鱼这样的负责业务场景,我们需要一个统一的应用框架来摆脱当下的开发困境,而这也...

阿里云官方博客
36分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部