开启辅助访问
帐号登录 |立即注册

php面向对象之操作符'::'的用法简述

 
什么是操作符“::”?
操作符“::”相比伪变量$this只能在类的内部使用来说更为强大。操作符“::”可以在没有任何声明任何实例的情况下访问类中的成员方法活成员变量。

操作符“::”语法:
使用"::"操作符的通用语法为:
关键字::变量名/常量名/方法名

注意事项:
这里的关键字不再是public、private、protected或者static等,而是以下三种情况:
(1)parent :可以调用父类中的成员变量、成员方法和常量;
(2)self:可以调用当前类中的静态成员和常量;
(3)类名:可以调用本类中的变量、常量和方法。

友情提醒:
上面简单的介绍了下操作符"::"的基本内容,下面我们通过一个简单的实例来更加形象具体的了解操作符“::”的用法。
<?php
header("content-type:text/html;charset=utf-8");
class Hero{                                        //定义类
    const CHARACTER = '奥利安娜';                  //定义常量,用关键字const
    function __construct()                        //父类中的构造函数
    {
        echo '5楼要玩中单' . Hero :: CHARACTER . '不给就送';     //输出常量
        echo '<br/>';
    }
}
class I_Hreo extends Hero{                      //创建子类I_Hreo继承父类
     const ROLE = '亚索';                         //创建常量
     function __construct()                      //子类中创建构造函数
     {
         parent :: __construct();               //引用父类中的构造函数
         echo '4楼中单' . self :: ROLE . '贼6'; //子类中输出
     }
}
$gamer = new I_Hreo();                             //实例化

实例解释:
在上述实例中,我们先创建了一个父类Hero,定义了常量,创建了构造函数,接着又创建了一个子类 I_Hreo去继承父类 Hreo,且在子类中也定义了常量。接下来就是重点了,我们引用父类中的构造函数。上面我们介绍了三种情况,parent :可以调用父类中的成员变量、成员方法和常量。这里我们调用的是父类中的方法,所以使用parent :: __construct()。接着,我们在子类的构造方法中输出子类中定义的常量,调用当前类的关键字,上面也介绍过,self:可以调用当前类中的静态成员和常量,所以这里我们用self :: ROLE,最后格式化,运行一下。

结果见下图:
1491806084856757.png

回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。