PHP8中伪变量“$this->”和操作符“::”的使用-PHP8知识详解

    时间: 浏览:857次  原文出处:PHP服务网
导读:对象不仅可以调用自己的变量和方法,也可以调用类中的变量和方法。php8通过伪变量“$this->”和操作符“::”来实现这些功能。

对象不仅可以调用自己的变量方法,也可以调用类中的变量和方法。PHP8通过伪变量“$this->”和操作符“::”来实现这些功能。


1.伪变量“$this->”

在通过对象名->方法调用对象的方法时,如果不知道对象的名称,而又想调用类中的方法,就要用伪变量“$this->”。伪变量“$this->”的意思就是本身,成员方法属于哪个对象,$this 引用就代表哪个对象,主要作用是专门完成对象内部成员之间的访问。

使用伪变量“$this->”参考代码

<?php
class myexample {
    function fun(){                                    //定义成员方法
        if(isset($this)){                             //判断变量$this是否存在
            echo "变量\$this的值是:".get_class($this); //如果存在则输出$this所属类名
        }else{
            echo "变量\$this不存在!";
        }
    }
}
$myexam=new myexample();                            //类的实例化
$myexam->fun();             //类的实例化并传递参数
?>

以上代码在php8中的运行结果如下:

变量$this的值是:myexample

2、操作符“::”

操作符“::”可以在没有任何声明实例的情况下访问类中的成员,语法格式如下:

关键字::变量名/常量名/方法名

其中关键字主要包括parentself和类名 3种。

(1)、parent关键字:表示可以调用父类中的成员变量、常量和成员方法。

(2)、self关键字:表示可以调用当前类中的常量和静态成员。

(3)、类名关键字:表示可以调用本类中的常量、变量和方法。

使用操作符“::”参考代码:

<?php
    class Fruit {
        const NAME="水果";                          //定义常量NAME
        function __construct(){                     //定义构造方法
            echo "本商城销量最高的商品类别是:".Fruit::NAME."<br />"; //输出常量的默认值
        }
    }
    class MyFruit extends Fruit {                       //定义Fruit类的子类
        const NAME="葡萄";                              //定义常量NAME
        function __construct()                          //定义子类的构造方法
        {
            parent::__construct();                      //调用父类的构造方法
            echo "水果中销量最高的是:".self::NAME." "; //输出本类的常量NAME
        }
    }
    $f=new MyFruit();                                   //类的实例化
?>

以上代码在PHP8中的运行结果如下:

本商城销量最高的商品类别是:水果

水果中销量最高的是:葡萄

到此为止,对象不仅可以调用自己的变量和方法,也可以调用类中的变量和方法。PHP8通过伪变量“$this>”和操作符“::”来实现这些功能就讲解完毕了。



本文地址:https://www.olzz.com/851.html
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

面向对象编程的几个问题总结-PHP8知识详解

导读:面向对象编程的几个问题总结:1、类和对象的关系?2、方法与函数的区别?3、静态变量越多越好吗?4、抽象类和类有何不同?

2023-10-07  分类:PHP学堂  浏览:892次


PHP8中的魔术方法-PHP8知识详解

导读:在PHP 8中,魔术方法是一种特殊的方法,它们以两个下划线(__)开头。魔术方法允许您定义类的行为,例如创建对象、调用其他方法或访问和修改类的属性。

2023-10-06  分类:PHP学堂  浏览:799次


在PHP8中使用instanceof操作符检测对象类型-PHP8知识详解

导读:继承特性简化了对象、类的创建,增加了代码的可重用性。但是PHP只支持单继承,如果想实现多继承,就需要使用接口。PHP可以实现多个接口。

2023-10-04  分类:PHP学堂  浏览:807次


使用关键字interface来声明使用接口-PHP8知识详解

导读:继承特性简化了对象、类的创建,增加了代码的可重用性。但是PHP只支持单继承,如果想实现多继承,就需要使用接口。PHP可以实现多个接口。

2023-10-04  分类:PHP学堂  浏览:843次


使用关键字abstract 声明抽象类-PHP8知识详解

导读:抽象类只能作为父类使用,因为抽象类不能被实例化。抽象类使用关键字abstract 声明。

2023-10-01  分类:PHP学堂  浏览:811次


PHP8中final关键字的应用-PHP8知识详解

导读:在PHP8中,final的中文含义是最终的、最后的意思。被final修饰过的类和方法就是“最终的版本”。 如果关键字final放在类的前面,则表示该类不能被集成。 如果关键字final放在方法的前面,则表示该 方法不能被重新定义。

2023-09-30  分类:PHP学堂  浏览:850次


PHP8的静态变量和方法-PHP8知识详解

导读:我们在上一课程讲到了public、private、protected这3个关键字,今天我们来讲解static关键字,明天再讲解final关键字。 如果不想通过创建对象来调用变量或方法,则可以将该变量或方法创建为静态变量或方法,也就是在变量或方法的前面加上static关键词。

2023-09-28  分类:PHP学堂  浏览:837次


PHP8中伪变量“$this->”和操作符“::”的使用-PHP8知识详解

导读:对象不仅可以调用自己的变量和方法,也可以调用类中的变量和方法。php8通过伪变量“$this->”和操作符“::”来实现这些功能。

2023-09-24  分类:PHP学堂  浏览:858次


PHP8中的构造方法和析构方法-PHP8知识详解

导读:今日分享的内容是PHP8中的构造方法和析构方法,我们把构造方法和析构方法这两个方法分开来讲:

2023-09-21  分类:PHP学堂  浏览:827次


PHP8的类与对象的基本操作之类常量-PHP8知识详解

导读:PHP 8引入了一种新的特性,称为类常量(Class Constants)。类常量是在类中定义的常量,类似于全局常量,但作用域仅限于定义它们的类。 在PHP 8中,类常量的作用域被限制在定义它们的类中。这意味着只有类的成员方法或静态方法才能访问类常量。在其他上下文中,如类的实例方法或全局范围内,类常量将不可见。

2023-09-21  分类:PHP学堂  浏览:734次