> 백엔드 개발 > PHP 문제 > PHP 액세스 권한 수정자는 무엇입니까?

PHP 액세스 권한 수정자는 무엇입니까?

WBOY
풀어 주다: 2023-03-16 13:52:02
원래의
2896명이 탐색했습니다.

PHP 액세스 권한 수정자에는 세 가지 유형이 있습니다. 1. 공개는 공유를 의미하며 가장 큰 권한 범위로 어디에서나 액세스할 수 있습니다. 2. 보호는 보호되고 상속되며 해당 사용자만 사용할 수 있음을 의미합니다. 클래스 자체 및 클래스의 내부 멤버에 액세스할 수 있습니다. 3. 프라이빗은 프라이빗을 의미하며 클래스 정의의 중괄호 내에서만 액세스할 수 있습니다.

PHP 액세스 권한 수정자는 무엇입니까?

이 문서의 운영 환경: Windows 10 시스템, PHP 버전 8.1, Dell G3 컴퓨터

PHP 액세스 권한 수정자 유형은 무엇입니까?

세 가지 유형이 있습니다.

  • public 공유

  • protected 보호, 상속

  • private private

자세한 소개:

public:

Public 유형은 클래스 내부, 하위 클래스 또는 클래스 외부에서 사용할 수 있습니다. , 무제한

기능: 외부 호출 가능, 내부 호출 가능, 하위 클래스 호출 가능

하위 클래스에서는 self::var를 통해 공용 메서드나 속성을 호출할 수 있으며, parent::method는 인스턴스에서 상위 클래스 메서드를 호출

호출할 수 있습니다. $obj->var

를 통한 공개 유형의 메소드 또는 속성 protected:

Protected 유형은 클래스 및 하위 클래스 내부에서 사용할 수 있지만 클래스 외부에서는 사용할 수 없습니다

특징: 외부에서 호출할 수 없지만, 하위 클래스에서 내부적으로 호출할 수 있습니다

하위 클래스에서 보호된 메서드나 속성은 self::var를 통해 호출할 수 있으며 parent::method는 상위 클래스 메서드를 호출할 수 있습니다

인스턴스에서는 $obj->를 ;var로 사용할 수 없습니다. 보호 유형의 호출 메소드 또는 속성

private:

Private 유형은 클래스 내부에서만 사용할 수 있으며 클래스 외부나 하위 클래스에서는 사용할 수 없습니다.

기능: 외부 호출 불가, 내부 호출 가능, 서브클래스 호출 불가

이 유형의 속성 또는 메소드는 이 클래스에서만 사용할 수 있으며 이 클래스의 인스턴스, 서브클래스 또는 서브클래스의 인스턴스에서는 호출할 수 없습니다. 속성 및 메서드

예는 다음과 같습니다.

메서드 생성 시 지정하지 않으면 기본값은 public

<?php
 class EMBA_student  // 声明EMBA学生类
      {
          //用private来定义私有类的属性
          private $no; //序号
          private $name; // 姓名
          private $gender; //性别
          private $age; //年龄
          //方法
          //方法1 ,私有方法,输出年龄
       private   function show_age()
          {
  echo"我的年龄是:$this->age<br />";
              }
//方法2,公有方法,回答年龄
public function ask_age()
{
    $this->show_age();
    }
//方法3,设置数据
function set_data($arr){
    $this->no=$arr["no"];
        $this->name=$arr["name"];
            $this->gender=$arr["gender"];
                $this->age=$arr["age"];
    }
          }
 //实例化一个对象
 $s=new EMBA_student;
 $arr=array("no"=>"1","name"=>"Qian Zhang","gender"=>"Female","age"=>"33","department"=>"商业营销");
 $s->set_data($arr);
//echo $s->age;//Fatal error: Cannot access private property EMBA_student::$age in C:\xampp\htdocs\v\v.php on line 47
//$s->show_age(); //Fatal error: Call to private method EMBA_student::show_age() from context &#39;&#39; in C:\xampp\htdocs\v\v.php on line 48
 $s->ask_age();
  ?>
로그인 후 복사

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP 액세스 권한 수정자는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿