PHP 객체 지향에는 세 가지 액세스 권한이 있습니다. , self::var를 통해 공개 메소드 또는 속성을 호출할 수 있으며 parent::method는 상위 클래스 메소드를 호출할 수 있습니다. 이 경우 $obj->var를 통해 공개 메소드 또는 속성을 호출할 수 있습니다. protected 보호 유형
기능: 외부에서는 호출할 수 없지만 내부에서는 호출 가능합니다. 하위 클래스에서 호출 가능하위 클래스에서 보호된 메서드나 속성은 self::var를 통해 호출할 수 있으며 parent::method는 상위 클래스 메서드를 호출할 수 있습니다
인스턴스에서는 호출할 수 없습니다. $obj->var를 사용하여 보호된 유형 메서드 또는 속성을 호출합니다.private: 개인 유형
특징: 외부에서 호출할 수 없음, 내부적으로 호출 가능, 하위 클래스에서 호출할 수 없음이 속성 또는 메서드 유형은 이 클래스에서만 사용할 수 있습니다. 이 클래스의 인스턴스, 하위 클래스 또는 하위 클래스의 인스턴스
코드 예제<?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();
보충: self 간의 차이점 및 parent
a) 이 두 개체는 일반적으로 하위 클래스에서 사용됩니다. 주요 차이점은 self는 상위 클래스에서 공개 또는 보호 속성을 호출할 수 있지만 부모는 호출할 수 없다는 것입니다. b).self:: $this와 달리 $this는 현재 클래스의 정적 멤버(메서드 및 속성)를 나타냅니다. 현재 객체를 말합니다더 많은 관련 지식을 알고 싶다면PHP 중국어 홈페이지를 방문해주세요! !
위 내용은 PHP의 세 가지 액세스 권한(oop)의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!