PHP双冒号::的用法

V站笔记

双冒号操作符即作用域限定操作符Scope Resolution Operator可以访问静态、const和类中重写的属性与方法。

  在类定义外使用的话,使用类名调用。在PHP 5.3.0,可以使用变量代替类名。

  Program List:用变量在类定义外部访问 

<?phpclass Fruit {    const CONST_VALUE = 'Fruit Color';}$a = 'Fruit';echo $a::CONST_VALUE; ?> Program List:在类定义外部使用:: <?phpclass Fruit {    const CONST_VALUE = 'Fruit Color';}class Apple extends Fruit {    public static $b = 'Red';    public static function doubleColon() {        echo parent::CONST_VALUE . "\n";        echo self::$b . "\n";    }}Apple::doubleColon(); ?> 程序运行结果: Fruit Color Red Program List:调用parent方法 <?phpclass Fruit {    protected function showColor() {        echo "Fruit::showColor()\n";    }}class Apple extends Fruit { ?> 程序运行结果: Fruit::showColor() Apple::showColor() Program List:使用作用域限定符 <?php    class Apple {        public function showColor() {            return $c->color;        }    }    class Banana {        public $b;        public function __construct() {            $c->color = "Banana is yellow";        }        public function GetColor() {            return Apple::showColor();        }    }    $d = new Banana;    echo $d->GetColor(); ?> 程序运行结果: Banana is yellow Program List:调用基类的方法 <?php    class Fruit {        static function color() {            return "color";        }        static function showColor() {            echo "show " . self::color();        }    }    class Apple extends Fruit {        static function color() {            return "red";        }    }    Apple::showColor(); ?>

  程序运行结果: show color

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

2 条评论
登录 后参与评论

相关文章

来自专栏LinkedBear的个人空间

唠唠SE的面向对象-11——内部类 原

在一个类中,定义在类中的叫成员变量,定义在函数中的叫成员函数,那么根据类定义的位置也可以分为成员内部类和局部内部类。

602
来自专栏Java成神之路

Java_注解_00_资源贴

813
来自专栏深度学习计算机视觉

里式替换原则(LSP)

讲继承 所有引用父类的地方都必须可以透明的使用其子类对象 几个原则: 1、子类必须完全实现父类的方法 2、子类可以有自己的个性 3、覆盖或实现父类的方...

34312
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-day10-基础题-继承;抽象类

Java基础-day10-基础题-继承&抽象类 什么是继承?继承有什么好处? 继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类...

3286
来自专栏Flutter入门

About Kotlin-Kotlin中的类2About Kotlin(2)

使用sealed修饰符修饰。其实是一组类的集合。可以用来表示受限的类的继承结构。 其也可以有子类,所有子类也必须在相同的文件中声明。 密封类从某种意义上说,...

892
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-08(01)总结帮助文档,代码块,继承

? 1:如何制作帮助文档(了解) (1)写一个类 (2)加入文档注释 (3)通过javadoc工具生成即可 javadoc -d 目录 -author...

2765
来自专栏blackheart的专栏

[C#3] 4-匿名类型

1.DEMO 使用匿名类型: static void Main() { var someType = new { Name = "乱舞春秋", Age ...

1877
来自专栏梧雨北辰的开发录

Swift学习:构造器(中)

本篇继续对Swift中的构造器进行介绍,这里主要说到类的继承和构造。 作为引用类型的类具有的继承特性,这使得类的构造过程较为复杂一些,因为涉及到很多细节性的问题...

2958
来自专栏待你如初见

Day08

1103
来自专栏coding for love

JS原生引用类型解析6-Boolean类型

(注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

661

扫码关注云+社区