PHP 클래스 및 생성자 분석에 대한 심층적인 이해

迷茫
풀어 주다: 2023-03-06 22:56:02
원래의
2154명이 탐색했습니다.

누구나 클래스에 대해 어느 정도 이해하고 있습니다. 여기에서는 php

에서 클래스의 주목할만한 측면만 소개합니다.----클래스 생성---

php는 클래스를 생성하기 위해 class 키워드를 사용하고


class name{
  public $n="";
  private $u="";

  public function name() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;//this表示这个类
  }
}
로그인 후 복사

와 같은 중괄호 쌍을 사용합니다

끝. 그러면 $n, $u는 필드입니다. name()은 값을 할당할 수 있는 생성자입니다(construct()는 생성자를 정의할 수도 있습니다. 자세한 내용은 아래 참조). 필드로; rename()은 메소드입니다.

----필드----

비교
$obj=새 이름();
echo $obj->n;

$obj=new name();
echo $obj-> ;u;

전자는 실행 가능하지만 후자는 $u가 이전에 private으로 선언되었기 때문에 불가능합니다. 이는 C++와 유사합니다.

코드:

public static $nm ="2333333333333333" ;
로그인 후 복사

는 함수에 대한 정적 필드를 선언합니다.
클래스명과 ::

echo name::$nm;

이것도 C++와 비슷합니다.

self::+$+변수 이름 을 통해 클래스의 정적 필드에 액세스할 수도 있습니다. 이 경우 self는 $this와 동일합니다. ->.

메소드 사용은 필드와 유사합니다


----생성자----

php5 이하 버전에서는 생성자가 클래스와 동일한 이름을 갖습니다

php5 이상 버전에서는 마법의 단어인 constructor()가 생성자를 정의할 수 있습니다

마법의 단어인 constructor()는 생성자를 정의할 수 있습니다

class name{
  public $n="";
  private $u="";

  public function construct() {
    $n="233";
    $u="23333";
  }

  public function rename($newn){
     $this->n=$newn;
  }
}
로그인 후 복사

생성자는 매개변수를 가질 수 있습니다

construct($name="",$sex="man" ,$age=0) {}

객체 선언 시

$obj= new name("我","man",28);
로그인 후 복사

매개변수가 지정되지 않으면 기본값은 = 뒤의 값입니다.

위 내용은 PHP 클래스 및 생성자 분석에 대한 심층적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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