PHP 개발자가 꼭 마스터해야 할 6가지 키워드_기본지식

WBOY
풀어 주다: 2016-05-16 16:52:19
원래의
1071명이 탐색했습니다.

모든 PHP 개발자는 객체 지향을 사용하여 웹 애플리케이션을 구축할 때 6가지 키워드를 마스터해야 합니다.

1.비공개
2.공개
3.보호됨
4.정적
5.최종
6.추상

처음 세 개의 키워드에 대한 클래스 내 액세스 관계는 다음과 같습니다.

PHP 개발자가 꼭 마스터해야 할 6가지 키워드_기본지식
 

Private

위 그림과 같이 Private은 접근 제어의 핵심 부분이므로, Private으로 정의된 속성(변수)이나 메소드는 클래스에서만 가능합니다. 클래스 내에서 접근할 수 있으며, 클래스의 어떤 인스턴스(객체)나 하위 클래스에서도 접근할 수 없습니다. 마찬가지로 클래스 이름을 통해서는 직접 접근할 수 없습니다.

Protected

Protected의 액세스 수준은 Private에 이어 두 번째입니다. Protected로 정의된 속성(변수) 또는 메서드는 이 클래스뿐만 아니라 이 클래스의 하위 클래스에서도 액세스할 수 있습니다. . 클래스에서도 액세스할 수 있지만 Private 속성으로는 불가능합니다.

Public

Public은 가장 큰 접근 권한을 가집니다. Public으로 정의된 속성(변수)이나 메서드는 프로그램 내 어디에서나 언제든지 접근할 수 있습니다.

정적

클래스에서 속성(변수)을 정적으로 선언하면 해당 속성의 값은 해당 개체의 모든 개체에 표시되며 공유 변수입니다. 따라서 정적 속성 값은 객체가 아닌 클래스에 따라 달라집니다. 정적 속성은 객체를 통해 액세스할 수 없지만 클래스 이름과 :: 기호를 사용하여 직접 액세스할 수 있습니다.
마찬가지로 정적 메소드에도 객체 공유 특성이 있는데, 다음 두 가지 점에 주의해야 합니다.

1. 클래스 이름에 ::를 추가하여 직접 정적 메서드에 액세스합니다
2. $this 키워드는 정적 메서드에서 사용할 수 없습니다

Final

Final에서 속성(변수)을 수정한 경우 속성(변수) 값을 변경할 수 없습니다. 함수인 경우 해당 함수를 덮어쓰거나 변경할 수 없습니다. 다시 작성되었습니다.

Abstract

Abstract로 정의된 클래스는 인스턴스화할 수 없습니다. 모든 클래스에서 최소한 하나의 메소드가 Abstract로 선언된 경우 이 클래스는 Abstract로 선언되어야 합니다. Abstract로 정의된 메서드는 호출 메서드(매개변수)만 선언하고 특정 함수 구현을 정의할 수는 없습니다.

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