Maison >développement back-end >tutoriel php >Introduction à la programmation orientée objet PHP : comment utiliser les modificateurs d'accès pour protéger les propriétés et les méthodes des objets
Introduction à la programmation orientée objet PHP : Comment utiliser les modificateurs d'accès pour protéger les propriétés et les méthodes des objets
En PHP, la programmation orientée objet (POO) est une méthode de programmation très courante et puissante. De cette manière, nous pouvons résumer des entités en objets et définir leurs propriétés et méthodes pour décrire leur comportement. Cependant, nous devons parfois restreindre l'accès à un objet pour protéger son état interne et certaines méthodes clés. À cette fin, PHP fournit des modificateurs d'accès pour nous aider à atteindre cet objectif.
Il existe trois modificateurs d'accès couramment utilisés en PHP : public, privé et protégé. Différents modificateurs d'accès définissent la visibilité et l'accessibilité des propriétés et méthodes d'un objet au monde extérieur. Ci-dessous, nous présenterons en détail l’utilisation de ces trois modificateurs d’accès.
Le modificateur d'accès public est le modificateur le plus courant, ce qui signifie que les propriétés et les méthodes de l'objet sont accessibles et appelées de n'importe où. Lorsque nous ne définissons aucun modificateur d'accès, la valeur par défaut est le modificateur d'accès public.
Généralement, nous définissons les propriétés d'une classe comme privées ou protégées, et définissons les méthodes comme publiques, afin que le code externe puisse accéder et exploiter les propriétés de l'objet via les méthodes. Voici un exemple d'utilisation de modificateurs d'accès public :
class Person { public $name; public function sayHello() { echo "Hello, my name is ".$this->name; } } $person = new Person(); $person->name = "John"; $person->sayHello(); // 输出 "Hello, my name is John"
Dans le code ci-dessus, nous définissons une classe Person
avec l'attribut $name
et sayHello( )
Les méthodes sont toutes publiques. En définissant $name
comme propriété publique, le code externe peut directement modifier et accéder à la valeur de la propriété. La méthode sayHello()
peut imprimer un message d'accueil dans du code externe en instanciant l'objet et en appelant la méthode. Person
类,其中$name
属性和sayHello()
方法都是公有的。通过将$name
设置为公有属性,外部代码可以直接修改和访问该属性的值。而sayHello()
方法可以在外部代码中通过实例化对象并调用该方法来打印输出一条问候语。
私有访问修饰符表示对象的属性和方法只能在所属的类内部访问和调用,外部代码无法直接访问。为了访问私有属性和方法,我们需要使用类内部定义的公有方法。下面是一个使用私有访问修饰符的示例:
class Person { private $name; public function setName($name) { $this->name = $name; } public function sayHello() { echo "Hello, my name is ".$this->name; } } $person = new Person(); $person->setName("John"); $person->sayHello(); // 输出 "Hello, my name is John"
在上面的代码中,$name
属性被定义为私有的,外部代码无法直接访问。为了对该属性赋值,我们定义了一个公有的setName($name)
方法,并在其中通过方法内部访问私有属性来设置其值。同样,sayHello()
方法可以在外部代码中通过实例化对象并调用该方法来打印输出问候语。
受保护访问修饰符表示对象的属性和方法只能在所属的类及其子类中访问和调用,外部代码无法直接访问。和私有访问修饰符类似,为了访问受保护的属性和方法,我们也需要使用类内部定义的公有方法。下面是一个使用受保护访问修饰符的示例:
class Person { protected $name; public function setName($name) { $this->name = $name; } public function sayHello() { echo "Hello, my name is ".$this->name; } } class Student extends Person { public function study() { echo $this->name." is studying."; } } $student = new Student(); $student->setName("John"); $student->sayHello(); // 输出 "Hello, my name is John" $student->study(); // 输出 "John is studying."
上面的代码中,Person
类的$name
属性被定义为受保护的,而Student
类继承了Person
类。在Student
类内部,我们可以直接访问和调用继承自Person
类的受保护属性和方法。在外部代码中,我们通过实例化Student
$name
est définie comme privée et n'est pas directement accessible par du code externe. Afin d'attribuer une valeur à cette propriété, nous définissons une méthode publique setName($name)
et définissons sa valeur en accédant à la propriété privée à l'intérieur de la méthode. De même, la méthode sayHello()
peut être utilisée dans du code externe pour imprimer le message d'accueil en instanciant l'objet et en appelant la méthode. 🎜$name
de la classe Person
est défini comme protégé, tandis que le Student
hérite de la classe Person
. À l'intérieur de la classe Student
, nous pouvons accéder et appeler directement les propriétés et méthodes protégées héritées de la classe Person
. À partir du code externe, nous accédons et appelons les propriétés et méthodes protégées en instanciant un objet Student
et en appelant ses méthodes publiques définies. 🎜🎜En utilisant des modificateurs d'accès, nous pouvons mieux contrôler les droits d'accès des objets et éviter certains accès et opérations déraisonnables. Dans le développement réel, nous devons raisonnablement sélectionner et utiliser des modificateurs d'accès en fonction des besoins et des principes de conception. J'espère que cet article vous aidera à comprendre et à utiliser les modificateurs d'accès en 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!