Que sont les cours php ? Explication détaillée des attributs de la classe php

伊谢尔伦
Libérer: 2023-03-11 13:22:01
original
16969 Les gens l'ont consulté

Concept de classe : Une classe est une collection d'objets ayant les mêmes attributs et opérations. Il fournit une description abstraite unifiée pour tous les objets appartenant à cette classe, qui comprend deux parties principales : les attributs et les opérations. Dans le langage de programmation orienté objet, une classe est une unité de programme indépendante. Elle doit avoir un nom de classe et comprendre deux parties principales : la description de l'attribut et la description de l'opération.

1. Définition de classe :

i. La définition du mot-clé de classe utilise la classe

Définir une classe vide

Personne de classe{} ;

2. Définir une classe avec des attributs de membre et des opérations

Class Person{

Attributs de membre.....

Opérations ........

}

3. Définissez une classe qui ne peut pas être héritée, utilisez le mot-clé final

Classe finale Personne{

Attributs des membres...

Opération...

}

4. Remarque : le mot-clé final ne peut pas être utilisé. La modification des attributs des membres ne peut modifier que les classes et les méthodes (les méthodes finales seront introduites plus tard)

5. Voici une classe avec final

Définir une classe finale FinalClass, incluant une fonction publique

Définir une classe ChildFinalClass et hériter de la classe FinalClass
final class FinalClass {
public function ffun() {
echo “本类为final类”;
}
}
Copier après la connexion

De cette façon, lorsque la commande ci-dessus est exécutée, le système affichera
class ChildFinalClass extends FinalClass {
public function fchildfun() {
echo ‘本类继承final类FinalClass ’;
}
}
Copier après la connexion

Erreur fatale : la classe ChildFinalClass ne peut pas hériter de la classe finale (FinalClass)

Prouve que la classe défini par le mot-clé final ne peut pas être hérité par les sous-classes

2 Définition des attributs membres dans la classe

i. En tant que classe, les gens ont une paire d'yeux (normaux, sauf Erlangshen), une bouche, deux oreilles, etc. Les noms propres utilisés pour décrire ou exprimer quelque chose sont appelés attributs de membre

ii. Les attributs membres d'une classe utilisent le mot-clé

iii. Les déclarations d'attributs membres communs sont effectuées par Les mots-clés suivants commencent par

public, var, protected, private et sont suivis d'une variable. Il existe également certains attributs de membre, notamment un const statique et constant.


Public : indique global et est accessible par les sous-classes à l'intérieur et à l'extérieur de la classe

Var : cet attribut de membre sera pris en compte dans le Version PHP 5 Attributs de type public

protected signifie protégé et n'est accessible que par cette classe ou sous-classe ou classe parent

private

signifie privé et ne peut être utilisé que dans cette classe


Statique : 1) Attributs statiques,

2) Les attributs membres modifiés avec static peuvent être partagés par tous les objets de la même classe

3) Statique les données existent dans le segment de données en mémoire lorsque la classe est chargée pour la première fois (initialisation du segment statique)

4) Utiliser self:: nom de l'attribut membre dans la classe

5) À l'extérieur la classe Nom de la classe :: nom de l'attribut membre

Const : 1) Attribut constant dans la classe, vous devez utiliser const

pour déclarer une constante dans la classe 2) Utiliser self :: attribut membre dans la classe Nom

3) Utilisation en dehors de la classe Nom de la classe ::Nom de l'attribut membre

Remarque : Les variables de l'attribut peuvent être initialisées, mais la valeur initialisée doit être une constante. constante fait ici référence au script PHP dans C'est une constante pendant la phase de compilation, plutôt qu'une constante calculée pendant la phase d'exécution après la phase de compilation. Par exemple, il ne peut contenir aucun opérateur, ne peut être aucune variable, ne peut pas être une fonction, etc.

iv. Comment appeler les propriétés des membres :

Dans la

méthode membre

de la classe, vous pouvez utiliser $this->property (la propriété est le nom de la propriété) . Pour accéder aux propriétés et aux méthodes d'une classe, mais il ne peut pas être utilisé pour accéder aux propriétés statiques d'une classe ou dans une méthode statique, utilisez plutôt self::$property. La pseudo variable $this peut être utilisée dans les méthodes non statiques d'une classe. Cette pseudo variable est une référence à l'objet instancié qui appelle la méthode. Ensuite, utilisez le code pour expliquer le contenu ci-dessus :

3 Définition des opérations dans une classe
class FinalClass {
//static $a = strTolower();   //这种写法错误
//const  A = 1+2;              //这种写法错误
//public $name = 123+456;     //这种写法错误
static $a = '$a';
const  A = 'A';
public $name = '凤姐';
protected $sex = '男+女';
private $age = 23;
}
class ChildFinalClass extends FinalClass{
public function fchildfun(){
echo &#39;ChildFinalClass类中ChildFinalClass::$a->&#39;.ChildFinalClass::$a."<hr>";
Echo &#39;ChildFinalClass类中ChildFinalClass::A->&#39;.ChildFinalClass::A."<hr>";
echo &#39;大家好,我叫&#39;.$this->name."<hr>";
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;   
//由于age是私有的成员属性,所以在这里将不会被调用,将提示没有定义此属性在ChildFinalClass类中。
 
}
}
$obj = new ChildFinalClass();
$obj->fchildfun();
Copier après la connexion

J'aime généralement appeler les opérations en tant que membres Méthodes. , ci-dessous, j'appellerai les opérations comme des méthodes, mais elles sont toutes identiques

ii Définition des méthodes membres : les méthodes membres sont des méthodes de fonction définies pour la classe. Par exemple, prenez cette classe comme exemple, les gens. peut manger, peut exécuter, peut taper du code, ce sont des méthodes membres. C'est-à-dire que vous pouvez effectuer certaines actions exécutables, que nous comprenons comme méthodes membres

iii. Pour accéder aux méthodes membres et aux attributs des membres, vous pouvez vous référer à l'introduction à l'accès aux attributs des membres ci-dessus.

iv. Les méthodes membres et les attributs de membre incluent également public, protected, private, static, final et la portée est la même. Voici quelques exemples pour votre référence et votre compréhension.

v. Les méthodes membres statiques ne peuvent accéder qu'aux propriétés et méthodes membres statiques, et vous pouvez utiliser self::static method() pour accéder aux méthodes statiques à l'intérieur de la classe et utiliser class name::static method(). pour accéder à la classe externe. )

1. Méthodes personnalisées :

class FinalClass {
static $a = &#39;$a&#39;;
const  A = &#39;A&#39;;
public $name = &#39;凤姐&#39;;
protected $sex = &#39;男+女&#39;;
private $age = 23;
 
    //定义一个公共方法
public function publickfun(){
echo &#39;FinalClass类中self::$a->&#39;.self::$a."<hr>";
echo "FinalClass类中self::A->".self::A."<hr>";
echo &#39;大家好,我叫:&#39;.$this->name."<hr>";
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;
}
 
//定义一个受保护的方法
protected function protectedfun(){
echo &#39;FinalClass类中self::$a->&#39;.self::$a."<hr>";
echo "FinalClass类中self::A->".self::A."<hr>";
echo &#39;大家好,我叫:&#39;.$this->name."<hr>";
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;
}
    //定义一个私用方法
private function privatefun(){
echo &#39;FinalClass类中self::$a->&#39;.self::$a."<hr>";
echo "FinalClass类中self::A->".self::A."<hr>";
echo &#39;大家好,我叫:&#39;.$this->name."<hr>";
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;
}
}
class ChildFinalClass extends FinalClass{
public function fchildfun(){
echo &#39;ChildFinalClass类中ChildFinalClass::$a->&#39;.ChildFinalClass::$a."<hr>";
 
Echo &#39;ChildFinalClass类中ChildFinalClass::A->&#39;.ChildFinalClass::A."<hr>";
 
echo &#39;我是:&#39;.$this->sex.&#39;生<hr>&#39;;
 
echo &#39;我今年:&#39;.$this->age.&#39;<hr>&#39;;   
//由于age是私有的成员属性,可以理解为我不想让别人知道我的年龄,所以在这里将不会被调用,将提示没有定义此属性在ChildFinalClass类中。
 
$this->publickfun();
 
$this->protectedfun();
 
$this->privatefun();            
//由于privatefun是私有的成员方法,所以在这里将不会被调用。
}
}
$obj = new ChildFinalClass();
$obj->fchildfun();
Copier après la connexion
2. Les méthodes magiques


i. toutes les autres méthodes magiques ça doit être comme ça

ii. À partir de PHP 5 et versions ultérieures, les classes en PHP peuvent utiliser des méthodes magiques. Il stipule que les méthodes commençant par deux traits de soulignement () sont réservées comme méthodes magiques, il est donc recommandé que les noms de fonctions de chacun ne commencent pas par eux, à moins que ce ne soit pour surcharger les méthodes magiques existantes. Ensuite, certaines méthodes magiques sont répertoriées si vous le souhaitez. élaborer Pour comprendre, vous pouvez interroger et comprendre un certain élément, je ne le présenterai donc pas en détail ici.

1. construct() Méthode de construction

destruct()

Méthode de destruction

2 , clone()

Si vous souhaitez copier un objet, vous devez utiliser la méthode clone

3. La méthode toString()

est automatiquement appelée lors de la conversion d'un objet. dans une chaîne. Par exemple, lorsque vous utilisez echo pour imprimer un objet,

4. Lors de la sérialisation, utilisez

wakeup. . set_state()

Lorsque var_export() est appelé, cette méthode statique sera appelée (valable depuis PHP 5.1.0)

6.

Lorsque vous essayez de Lorsque vous appelez un objet en appelant une fonction, la méthode d'invocation est automatiquement appelée.


7. callStatic (valable pour PHP 5.3.0 ou supérieur) permet de gérer les appels de méthode statiques

8. get() Cette méthode sera déclenchée lorsqu'une propriété non définie est appelée. transmis est le nom de la propriété à laquelle vous accédez.

set() Cette méthode sera déclenchée lors de l'attribution d'une valeur à un attribut non défini. Les paramètres passés sont le nom de l'attribut et la valeur à définir. La non-déclaration inclut ici les attributs dont le contrôle d'accès est protégé et privé (c'est-à-dire les attributs qui n'ont pas l'autorisation d'accéder) lorsqu'ils sont appelés à l'aide d'un objet.

9. isset() Cette méthode est appelée lorsque la fonction isset() est appelée sur un attribut non défini.

unset() Lorsque la fonction unset() est appelée sur un attribut non défini. Cette méthode est appelé lorsque

10. call( $method, $arg_array )

Lorsqu'une méthode non définie est appelée, cette méthode est appelée


La méthode non définie ici n'inclut aucune autorisation d'accès à la méthode ; si la méthode n'existe pas, accédez à la classe parent pour rechercher la méthode. Si elle n'existe pas dans la classe parent, appelez la méthode call() de cette classe. accédez à la méthode call() de la classe parent.

11. autoload()

Chargement automatique

Méthode magique

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!