Différence entre const, statique, public, privé et protégé en PHP

little bottle
Libérer: 2023-04-05 22:14:01
avant
2426 Les gens l'ont consulté

const : définit des constantes, ne peut généralement pas être modifié après la définition

static : statique, le nom de la classe est accessible
public : signifie global, accessible par les sous-classes à l'intérieur et en dehors de la classe ;
private : signifie privé, ne peut être utilisé qu'au sein de cette classe ;
protected : signifie protégé, accessible uniquement par cette classe ou une sous-classe ou une classe parent

définie ; les constantes peuvent également être utilisées" définir" définir.

Les différences entre const et Define lors de la définition de constantes sont les suivantes :

1. const est utilisé pour les variables membres de la classe et ne peut pas être modifié une fois défini. Define est utilisé pour les constantes globales et ne peut pas être modifié. utilisé pour les variables membres de la classe Définition,
const peut être utilisé dans les classes, définir ne peut pas.
2. Les constantes définies par const sont sensibles à la casse et définir peuvent spécifier si la sensibilité à la casse est obtenue via le troisième paramètre (TRUE indiquant l'insensibilité à la casse).
Définissez une constante au moment de l'exécution. définir('TXE',100,TRUE);
3. const ne peut pas définir de constantes dans les instructions conditionnelles, mais la fonction de définition le peut. if($a>10){define('LE','hello');}


class Demo
{
    //定义常量【自php5.3后】,一个常量是属于一个类的,而不是某个对象的
    //不可改变的
    const EVENT = 'const';
    static $event = 'static';
    public $eventPublic = 'public';
    private $eventPrivate = 'private';
    protected $eventProtected = 'protected';
    public function test()
    {
        //使用self访问类中定义的常量
        echo self::EVENT.&#39;<br/>&#39;;
        //同常量一样使用self
        echo self::$event.&#39;<br/>&#39;;
        //公共变量,受保护的变量,私密的变量通过$this访问
        echo $this->eventPublic.&#39;<br/>&#39;;
        //受保护的和私密的变量只能在当前类中访问
        echo $this->eventPrivate.&#39;<br/>&#39;;
        echo $this->eventProtected.&#39;<br/>&#39;;
    }

    //魔术方法
    public function __get($name)
    {
        return $this->$name;
    }
}

class One extends Demo
{

    public function testOne()
    {
        //可继承父级使用parent访问
        echo parent::EVENT.&#39;<br/>&#39;;
        echo parent::$event.&#39;<br/>&#39;;
        //也可通过父类直接访问
        echo Demo::EVENT.&#39;<br/>&#39;;
        echo Demo::$event.&#39;<br/>&#39;;
        //继承父级中的成员变量后,只能访问公共变量
        //私有变量和受保护的变量不能在子类中访问
        echo $this->eventPublic;
    }
}
$obj_1 = new Demo;
$obj_1->test();
echo "=================<br/>";
$obj = new One;
$obj->testOne();
Copier après la connexion

Résultats en cours d'exécution :


const
static
public
private
protected
=================
const
static
const
static
public
Copier après la connexion

Tutoriels associés : Tutoriel vidéo PHP 

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:
php
source:cnblogs.com
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal