Maison > développement back-end > Problème PHP > Comment les méthodes statiques appellent-elles des méthodes non statiques dans les classes PHP ?

Comment les méthodes statiques appellent-elles des méthodes non statiques dans les classes PHP ?

coldplay.xixi
Libérer: 2023-03-02 12:30:01
original
2508 Les gens l'ont consulté

Les méthodes statiques dans les classes PHP appellent des méthodes non statiques : d'abord, dans la méthode statique de la classe, l'objet doit être instancié ; puis la méthode de la classe est appelée, le code est [self:: staticFun(); A :: staticFun()].

Comment les méthodes statiques appellent-elles des méthodes non statiques dans les classes PHP ?

Les méthodes statiques dans les classes PHP appellent des méthodes non statiques :

Les méthodes non statiques appellent des méthodes statiques : Oui self Ou appelez ::

en ajoutant

au nom de la classe, comme dans le cas suivant :

<?php
class A{
    public function noneStaticFun(){
        echo  __CLASS__." none static function<br/>";
    }
    public static function staticFun(){
        echo __CLASS__." static function<br/>";
        //静态方法调用非静态方法,需要实例化对象然后再调用对象中的非静态方法
        (new A())->noneStaticFun();
    }
    public function testCallStaticFun(){
        echo "call static function<br/>";
        //调用本类的静态方法,使用 self关键字或者类名
        self::staticFun();
        //A::staticFun(); //也可以使用这种方式
        //调用其它类的静态方法,直接使用类名::方法名的形式调用
        B::myStaticFun();
    }
}
class B{
    public static function myStaticFun(){
        echo __CLASS__." static function<br/>";
    }
}
//演示
$testA = new A();
$testA->testCallStaticFun();
A::staticFun();
Copier après la connexion

Résultats en cours d'exécution :

call static function
A static function
A none static function
B static function
A static function
A none static function
Copier après la connexion

Recommandations d'apprentissage associées : Programmation PHP du débutant au maître

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal