Modificateurs de classe PHP et modificateurs d'accès

不言
Libérer: 2023-04-02 17:54:02
original
2466 Les gens l'ont consulté

Cet article présente principalement les modificateurs de classe et les modificateurs d'accès de PHP, qui ont une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Modificateurs de classe

    .
  • 1. La classe modifiée par abstract est une classe abstraite. Si une classe contient des méthodes abstraites, alors cette classe est une classe abstraite (bien sûr il n'y a pas de méthode abstraite dans une classe, on peut aussi définir cette classe). en tant que classe abstraite), alors qu'est-ce qu'une méthode abstraite ? Une méthode abstraite est une méthode sans corps de méthode (sans accolades et sans contenu à l'intérieur). La classe abstraite elle-même ne peut pas être instanciée, seule une classe en hérite et remplace toutes ses méthodes abstraites, afin que nous puissions instancier ses sous-classes

abstract class My{
    abstract function say();
}
//
abstract class My{
     function say(){
        echo 'hello';
    }
}
Copier après la connexion

  • 2. La classe modifiée par interface est une interface. Les interfaces sont quelque peu similaires aux classes abstraites, mais leur différence est que toutes les méthodes de l'interface sont des méthodes abstraites. Il n'y a pas de modification abstraite devant les méthodes abstraites de l'interface. les attributs du membre doivent être une constante. Les références d'interface sont différentes des extensions de mot-clé d'héritage de classe. L'héritage ne peut être qu'unique, tandis que les interfaces peuvent utiliser le mot-clé Implements pour avoir plusieurs références séparées par des virgules.

interface demo { 
const NAME = "常量对象属性"; 
function fun1(); 
function fun2(); //抽象方法。 
} 
class MyPc extends Root implements demo , demo2 , demo3 { 
... 
}
Copier après la connexion
  • 3. La classe modifiée par final est une classe finale et ne peut pas être héritée.

Modificateurs d'accès

  • 1. Les méthodes et propriétés publiques publiques peuvent être utilisées dans toutes les classes

<. 🎜>
  • 2.Méthodes et variables statiques statiques

Si les autorisations de contrôle d'accès le permettent, vous pouvez utiliser la classe directement sans créer cet objet de classe Lorsqu'il est appelé par en ajoutant deux deux-points '::' au nom, il n'y a qu'une seule copie de l'attribut statique dans la mémoire, qui est partagée par toutes les instances. Les méthodes statiques ne peuvent pas appeler d'attributs non statiques. Les propriétés non statiques ne peuvent pas être appelées en utilisant self::.

function test(){
static $a=1;
$a*=2;
echo $a."\n";
}
test()
test()
test()
//打印结果
//2
//4
//8
Copier après la connexion
L'affectation d'initialisation des variables statiques n'est effectuée qu'une seule fois et les méthodes de test suivantes ne les initialiseront pas à nouveau.

  • 3. Les méthodes et variables privées modifiées sont privées et ne peuvent être appelées que dans cette classe (lorsque cette classe est instanciée dans d'autres classes, les méthodes et variables privées modifiées ne peuvent pas être appelées variables)


  • 4. Les méthodes et variables protégées protégées ne peuvent être utilisées que dans cette classe et les sous-classes de cette classe


  • 5. La méthode finale modifiée ne peut pas être remplacée.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Comment générer rapidement des formulaires modernes avec PHP

php implémente la fonction de communication du processus de mémoire partagée (_shm )

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: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