Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP의 캡슐화에 대해 설명합니다.

<시간/>

객체 지향 프로그래밍은 PHP5에 추가된 소프트웨어 접근 방식으로 복합 응용 프로그램을 쉽게 구축하는 데 도움이 됩니다. PHP5에 추가된 OOP 개념 중 일부는 추상화, 인터페이스, 정적 메서드 및 정적 클래스 등입니다...

이 기사에서는 몇 가지 예를 통해 캡슐화와 구현에 대해 알아볼 것입니다.

데이터와 메서드를 단일 단위(클래스라고 함)로 묶는 것을 캡슐화라고 합니다. 캡슐화는 클래스 내부에 있는 데이터 멤버 및 메서드에 대한 보호 메커니즘입니다. 캡슐화 기술에서 우리는 외부 세계의 최종 사용자에 대한 데이터 구성원의 액세스를 제한하고 있습니다.

PHP에서는 코드를 보다 안전하고 강력하게 만들기 위해 캡슐화를 사용합니다. 캡슐화를 사용하여 데이터의 실제 구현을 사용자에게 숨기고 원하는 작업을 호출하는 것 외에는 누구도 데이터 멤버를 조작하는 것을 허용하지 않습니다.

예시

예를 통해 이해해 봅시다.

<?php
   class ATM {
      private $custid;
      private $atmpin;
      public function PinChange($custid,$atmpin) {
               ---------perform tasks-----
               }
      public function CheckBalance($custid,$atmpin){
               ---------perform tasks-----
               }
      public function miniStatement($custid) {
               ---------perform tasks-----
               }
      }
   $obj = new ATM();
   $obj ->CheckBalance(10005285637,1**3);
?>

설명:

이 예에서 모든 ATM 클래스 데이터 멤버(변수)는 private 한정자로 표시됩니다. ATM 클래스 데이터 멤버(속성)에 직접 액세스할 수 없음을 의미합니다. 따라서 클래스 속성을 직접 변경할 수 없습니다. 클래스 속성(데이터 멤버)을 변경하는 유일한 방법은 메서드(함수)를 호출하는 것입니다. 이것이 우리가 모든 ATM 클래스 메소드를 public access modifier로 명시한 이유입니다. 사용자는 특정 작업을 수행하기 위해 클래스 메서드에 예상 인수를 전달할 수 있습니다.

잔액을 확인하려는 사람이 있다고 가정하면 필요한 인수 $custid="10005285637" 및 $atmpin="1**3"을 사용하여 CheckBalance() 메서드에 액세스해야 합니다. 이를 캡슐화를 통한 데이터 은닉이라고 합니다.

참고:

액세스 지정자를 구현하여 PHP에서 캡슐화를 달성할 수 있습니다.