>백엔드 개발 >PHP 튜토리얼 >PHP의 클래스 연산

PHP의 클래스 연산

不言
不言원래의
2018-04-20 10:28:542973검색

이 글은 특정 참조 가치가 있는 PHP의 클래스 작동을 소개합니다. 이제 모든 사람과 공유합니다. 도움이 필요한 친구들이 참조할 수 있습니다

1. 클래스 선언
<?php
    权限修饰符 class 类名{
    类的内容;
}
?>


권한 수정 생략할 수 있으며 기본 수정자는 public입니다. 즉, private 키워드와 메소드로 선언된 class

속성 내부와 외부 모두에서 액세스할 수 있습니다.

클래스 내부에서만 액세스할 수 있습니다. 키워드 protected

로 선언된 속성과 메서드는

클래스 내부에서만 액세스할 수 있지만 "상속"에 의해 생성된 "서브클래스"는 메서드에도 액세스할 수 있습니다. 2. 클래스

class Student
{
  public $name;/*类的成员属性,修饰关键词publlic、protected、private,如果没有特定的意义,仍然需要用var关键词修饰*/
  function GetIp(){
  //方法的内容;
}
$lili=new 类名称();//类的实例化
메소드의 내용은 public, protected, private 키워드로 수정할 수도 있습니다. $this 키워드는 클래스의 모든 멤버 메소드에 존재하는 특수한 객체 참조 메소드입니다. 멤버 메소드가 속한 객체, $this 참조는 어떤 객체를 나타냅니다.

연산자 "::"는 선언된 인스턴스 없이 클래스의 멤버에 액세스할 수 있습니다.

3. 클래스의 멤버 속성 및 메소드에 액세스

PHP 클래스의 멤버 변수 또는 메소드에 액세스할 때 참조된 변수 또는 메소드가 const(상수 정의) 또는 static(정적 선언)으로 선언된 경우 , 다음은 연산자::,

를 사용해야 합니다. 반대로 참조된 변수나 메서드가 const 또는 static으로 선언되지 않은 경우 -> 연산자를 사용해야 합니다.
또한 클래스 내부에서 const 또는 정적 변수나 메서드에 액세스하는 경우 자체 참조를 사용해야 합니다.

반대로, 클래스 내부에서 비const 또는 정적 변수나 메서드에 액세스하면 자기 참조 $ this를 사용해야 합니다.

결론: self와 $this의 기능은 매우 유사하지만 다릅니다. $this는 정적 멤버와 상수를 참조할 수 없습니다. self는 클래스 자체에 가깝고 $this는 인스턴스 자체에 가깝습니다.


4. 생성자 및 소멸자 메서드

생성자 메서드 __construct()는 객체를 인스턴스화할 때 자동으로 호출됩니다.

목적: 이니셜라이저에서 사용할 수 있습니다(멤버 속성에 값을 할당할 수 있으며, Member라고도 함). method)
구문: [수정자] function __construct(매개변수 목록...){ }
생성자 메서드 메서드 형식:
[수정자] function __construct([매개변수]){
프로그램 본문
}

소멸자 메서드 __destruct()는 객체가 소멸될 때 자동으로 호출됩니다. 이는 모든 단계가 실행된 후에 자동으로 호출된다는 의미이며, 프로그램이 종료될 때 자동으로 호출된다는 의미입니다

用途:可以进行资源释放操作或文件的关闭操作
注意:如果类中没有构造方法\析构方法,PHP引擎会自动添加一个构造方法\析构方法,其参数列表为空,方法内容为空


5. 클래스 상속 및 최종 키워드

class 子类名称 extends 父类名称{
     //子类成员变量列表
  function 成员方法(){//子类成员方法
     //方法内容
  }
}

상위 클래스에는 상위 클래스의 공개 속성과 메소드 외에도 하위 클래스도 자체 속성이 있습니다. 독특한 속성과 방법.


부모 클래스의 메서드가 final로 선언되면 하위 클래스는 메서드를 재정의할 수 없으며 final 키워드는 클래스 상속을 종료할 수 있습니다.

Final 클래스는 하위 클래스를 가질 수 없으며 final 메서드는 재정의될 수 없습니다.

관련 권장 사항:

php


에서 추상 클래스와 인터페이스의 차이점

위 내용은 PHP의 클래스 연산의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.