>  기사  >  백엔드 개발  >  객체지향적 사고 PHP 객체지향 개념

객체지향적 사고 PHP 객체지향 개념

WBOY
WBOY원래의
2016-07-29 08:47:131163검색

키워드 및 특수 변수
new, class, extends. 다들 이 세 가지를 알고 계시죠.
::, 범위 확인 연산자(Paamayim Nekudotayim이라고도 함) 또는 간단히 콜론 쌍을 사용하여 정적 멤버, 메서드 및 상수에 액세스할 수 있습니다. 클래스의 멤버와 메서드를 재정의하는 데에도 사용할 수 있습니다.
부모와 자신. parent는 확장 선언에서 파생 클래스가 가리키는 기본 클래스의 이름을 참조합니다. 이렇게 하면 여러 위치에서 기본 클래스 이름을 사용하는 것을 방지할 수 있습니다.
$이 의사 변수입니다. $this는 현재 인스턴스를 가리킵니다. $this는 반드시 메소드가 속한 객체일 필요는 없습니다. 때때로 클래스 A 내의 코드는 클래스 B의 정적 메서드를 호출합니다. 참조 예: http://www.php.net/manual/zh/언어.oop5.basic.php
정적 키워드. 클래스 멤버나 메서드를 정적으로 선언하면 클래스를 인스턴스화하지 않고도 직접 액세스할 수 있습니다. 그러나 정적 메서드를 제외하고 정적 멤버는 개체를 통해 액세스할 수 없습니다. 정적 메서드에서는 $this가 사용되지 않습니다. 대신 self:: 를 사용하세요.
마지막 키워드. 클래스와 함수에 사용할 수 있으므로 클래스를 상속할 수 없고 메서드를 재정의할 수 없습니다.
속성
은 초기화될 수 있지만 초기화된 값은 상수여야 합니다. 상수 앞에 const 키워드를 사용하십시오. 상수 값은 고정된 값이어야 하며 변수, 클래스 속성 또는 기타 작업(예: 함수 호출)의 결과일 수 없습니다.
생성자와 소멸자
이 두 함수 중 어느 것도 Java의 생성자 메커니즘과 다른 기본 클래스의 응답 함수를 비밀리에 호출하지 않습니다. 이 효과를 얻으려면 실행이 표시되어야 합니다. 소멸자에서는 예외가 발생할 수 없습니다.
추상 클래스: 추상으로 선언된 클래스 메서드는 구체적인 구현을 포함할 수 없으며 추상 클래스는 인스턴스화될 수 없습니다. 먼저 상속된 다음 해당 하위 클래스를 인스턴스화해야 합니다. 게다가 서브클래스의 접근 제어는 추상 클래스의 접근 제어와 동일하거나 좀 더 완화되어야 합니다. 추상 클래스에는 하나 이상의 추상 메서드가 포함되어 있습니다.
인터페이스
인터페이스를 사용하면 클래스가 구현해야 하는 메서드를 지정할 수 있지만 이러한 메서드의 특정 내용을 정의할 필요는 없습니다.
정의된 모든 메소드는 공개되어야 하며 메소드는 비어 있습니다.
상수는 정의할 수 있지만 속성은 없습니다.
인터페이스 구현은 모든 메소드를 구현해야 하며 여러 인터페이스를 구현할 수 있습니다(메소드는 같은 이름).
인터페이스는 다른 인터페이스에서 상속될 수 있습니다(확장).

위 내용은 객체지향적 사고의 내용을 포함하여 객체지향적 사고와 PHP 객체지향 개념을 소개한 내용이므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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