Quelle est la différence entre les trois autorisations d'accès (oop) en php

黄舟
Libérer: 2023-03-16 10:40:01
original
4265 Les gens l'ont consulté

Quelle est la différence entre les trois autorisations d'accès (oop) en php

Il existe trois droits d'accès en PHP orienté objet (oop) :

public : public Tapez

Caractéristiques : appelable en externe, appelable en interne, appelable en sous-classe

Dans les sous-classes, les méthodes ou propriétés publiques peuvent être appelées via self::var, parent::method Appeler la classe parent method

Dans l'instance, vous pouvez appeler la méthode ou la propriété de type public via $obj->var

protected: protected type

Caractéristiques : Non appelable en externe, appelable en interne. Les sous-classes peuvent appeler

Dans les sous-classes, les méthodes ou attributs protégés peuvent être appelés via self::var, et parent::method appelle les méthodes de la classe parent

Methods or. les propriétés de type protégé ne peuvent pas être appelées via $obj->var dans une instance

private : type privé

Caractéristiques : non appelables en externe, appelables en interne, non appelables par sous-classes

Les attributs ou méthodes de ce type ne peuvent être utilisés que dans cette classe. Les attributs et méthodes de type privé ne peuvent pas être appelés dans les instances de cette classe, les sous-classes ou les instances de sous-classes

Exemple de code

<?php  
	//final类不能被继承,final类不能被重写
	//public 外部可调用,内部可调用,子类可调用
	//protected 受保护类   外部不可调用   子类可以调用
	//private私有的   外部不可调用   子类不可调用
class human{
	//公有的
	public $money = 1000;
	//受保护的
	protected $che = "bmw";
	//私有的
	private $flower = "meigui";
 
	//调用公有类
	public function t1(){
		echo $this->money;
	}
	//调用受保护的
	public function t3(){
		echo $this->che;
	}
	//调用私有的
	public function t5(){
		echo $this->flower;
	}
}
 
class stu extends human{
	//子类调用公有的
	public function t2(){
		echo $this->money;
	}
	//子类调用受保护的
	public function t4(){
		echo $this->che;
	}
	//子类调用私有的
	public function t6(){
		echo $this->flower;
	}
 
}
 
//实例化对象
$stu = new stu();
echo $stu->money;
echo $stu->t1();
echo $stu->t2();
echo $stu->t3();
echo $stu->t4();
echo $stu->t5();
echo $stu->t6();
Copier après la connexion

Supplément : La différence entre soi et parent

Ces deux objets). sont couramment utilisés dans les sous-classes. Leur principale différence est que self peut appeler des propriétés publiques ou protégées dans la classe parent, mais parent ne peut pas appeler

b).self :: Il représente les membres statiques (méthodes et propriétés) de la classe actuelle. $ C'est différent, $this fait référence à l'objet actuel

Pour plus de connaissances connexes, veuillez visiter le

Site Web PHP chinois ! !

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