찾다
  • 로그인
  • 가입
비밀번호 재설정 성공

당신이 관심을 갖고 있는 프로젝트를 팔로우하고 그들에 관한 최신 뉴스를 맛보세요

객체와 데이터 구조

수집 148
읽다 30847
업데이트 시간 2016-09-11

객체 및 데이터 구조

1. getter 및 setter 사용 객체 캡슐화 사용

2. 객체에는 비공개 또는 보호된 멤버 변수를 사용하세요

1. getter와 setter를 사용하세요

PHP에서는 메소드에 public, protected, private를 사용하여 객체 속성의 변경 사항을 제어할 수 있습니다.

  1. 객체의 속성을 얻는 것 이외의 작업을 수행하려는 경우 코드에서 각 속성 액세스 방법을 찾아 수정할 필요가 없습니다.

  2. set 해당 속성 메소드가 있는 경우 매개변수 확인 추가가 용이함

  3. 패키지 내부 표현

  4. setgetget을 사용할 때 로깅 및 오류 제어를 쉽게 추가할 수 있습니다.

  5. 현재 클래스를 상속할 때 기본 메서드 함수를 재정의할 수 있습니다.

  6. get*set*원격 서버에서 개체 속성을 가져올 때 지연 로딩을 쉽게 사용할 수 있습니다.

또한 이 접근 방식은 OOP 개발의 열기 및 닫기 원칙을 준수합니다.

나쁜:

으아악

좋아요:

으아악

2. 객체에는 비공개 또는 보호된 멤버 변수를 사용하세요

  • 공용 메서드와 속성을 수정하는 것은 외부 코드에 쉽게 의존할 수 있고 제어할 수 없기 때문에 매우 위험합니다. 이에 대한 수정 사항은 이 클래스의 모든 사용자에게 영향을 미칩니다. 공용 메서드와 속성은 변경에 가장 위험합니다. 왜냐하면 일부 외부 코드는 쉽게 이에 의존할 수 있고 어떤 코드가 이에 의존하는지 제어할 수 없기 때문입니다. 클래스의 수정은 클래스의 모든 사용자에게 위험합니다.

  • protected에 대한 수정은 하위 클래스에서 사용할 수 있기 때문에 public에 대한 수정만큼 위험합니다. 유일한 차이점은 호출 가능한 위치가 다르며 수정하면 이 클래스를 통합하는 모든 위치에 영향을 미친다는 것입니다. protected 수정자는 모든 하위 클래스의 범위에서 사용할 수 있기 때문에 공개만큼 위험합니다. 이는 사실상 공개와 보호의 차이는 액세스 메커니즘에만 있지만 클래스의 수정은 모든 하위 클래스에 대해 동일하게 유지된다는 것을 의미합니다. .

  • 프라이빗 수정은 코드의 이 부분이 현재 클래스에만 영향을 미치도록 보장합니다. 프라이빗 수정자는 코드가 단일 클래스의 경계에서만 수정되는 것이 위험하다는 것을 보장합니다(수정해도 안전하며 Jenga 효과가 없습니다).

따라서 클래스의 코드에 액세스할 수 있는지 여부를 제어해야 하는 경우에만 public/protected,其他时候都用private를 사용하세요.

Fabien Potencier의 이 블로그 게시물을 읽을 수 있습니다.

나쁜:

으아악

좋아요:

으아악
핫 AI 도구
Undress AI Tool
Undress AI Tool

무료로 이미지를 벗다

AI Clothes Remover
AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undresser.AI Undress
Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

Stock Market GPT
Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

인기 있는 도구
메모장++7.3.1
메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6
드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전
SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)