PHP 추상과 인터페이스의 차이점
1.php 인터페이스 클래스: 인터페이스
사실 그 기능은 매우 간단합니다. 모두 다른 사람이 작성한 일부 클래스를 호출하려면 특정 함수의 구현 메소드 이름을 어떻게 알 수 있습니까? 이때 PHP 인터페이스 클래스가 작동합니다. 이는 다음과 같은 하위 클래스로 구현되어야 합니다.
1 인터페이스 쇼핑 2 { 3개 공개 기능 구매($gid); 4 공개 기능 판매($gid); 5 공개 기능 보기($gid); 6} 상점 인터페이스 클래스를 선언하고 세 가지 메소드(구매, 판매, 보기 및 이 클래스의 모든 하위 클래스 상속)를 정의합니다. 이 세 가지 메소드는 하나도 빠짐없이 구현되어야 합니다. 서브클래스는 이를 구현하지 않으므로 작동하지 않습니다. 사실 인터페이스 클래스는 직설적으로 말하면 클래스의 템플릿이자 클래스의 규정이다. 이 범주에 속하면 어떻게 하든 내 규정을 따라야 한다. 다음과 같은 사항은 귀하에게 달려 있습니다.
BaseShop 클래스는 Shop을 구현합니다 { 공개 기능 구매($gid) { echo('ID:'.$gid.'로 제품을 구매하셨습니다.'); } 공개 기능 판매($gid) { echo('ID:'.$gid.'로 제품을 판매했습니다.'); } 공개 기능 보기($gid) { echo('ID:'.$gid.'로 제품을 조회하셨습니다.'); } } 여러 사람이 협력하는 대규모 프로젝트에서 특정 기능에 대해 다른 사람에게 물어볼 필요가 없도록 인터페이스 클래스가 있으면 얼마나 편리한지 생각해 보세요. .. 메소드 이름이 무엇인가요? 물론, 이것이 마음에 드시면 어쩔 수 없습니다.
결론: 인터페이스 클래스는 클래스의 리더로서 방향을 나타내며 하위 클래스는 지정된 메소드를 완료해야 합니다.
2.php 추상 클래스: abstract
사실 추상 클래스와 인터페이스 클래스는 부분적으로 비슷한 문장을 본 기억이 납니다. , 추상 클래스는 클래스의 일부를 가져옵니다. 이 문장은 재미있어 보이지만 사실 추상 클래스의 기능은 많은 클래스가 많은 메소드를 사용하는 것을 발견하면 이를 계속 반복한다는 것입니다. . 그러면 추상 클래스 사용을 고려할 수 있습니다. "클래스를 다시 작성할 수는 없나요? 각 공용 클래스에 대해 이 공용 클래스를 인스턴스화하고 동일한 메서드를 호출합니다." 사실 이것이 추상 클래스가 하는 일이지만 인스턴스화 단계를 줄여 이 클래스의 메서드를 직접 호출하는 것만큼 편리하고 이 메서드를 오버로드할 수도 있습니다. 예:
1개의 추상 클래스 BaseShop 2 { 3개 공개 기능 구매($gid) 4 { 5 echo('ID:'.$gid.'로 제품을 구매하셨습니다.'); 6 } 7 공개 기능 판매($gid) 8 { 9 echo('ID:'.$gid.'로 제품을 판매했습니다.'); 10 } 11 공개 기능 보기($gid) 12 { 13 echo('ID:'.$gid.'로 제품을 조회하셨습니다.'); 14 } 15} 16개 클래스 BallShop이 BaseShop을 확장합니다 17 { 18 var $itme_id = null; 19 공개 함수 __construct() 20 { 21 $this->itme_id = 2314; 22 } 23 공개함수 공개() 24 { 25 $this->sell($this->itme_id); 26 } 27} 28 위와 같이 store 클래스를 정의하고 buy, Sell, view 등의 모든 부분을 추출한 예가 있는데, 이 메소드들은 abstract 클래스에 구현되어 있습니다. 그러면 이를 상속받은 하위 클래스가 자동으로 이러한 메서드를 얻고, 하위 클래스는 고유한 작업을 수행하고, 코드 중복을 도입하고, 재사용성을 향상시킵니다.
결론: 추상 클래스는 서비스를 많이 제공하는 서비스입니다. 서비스를 제공하지 못하는 것이 불만스러우면 사용할 수 있습니다. 직접 사용해도 됩니다. 추상 함수 메소드는 인터페이스와 다소 유사하며 상위 클래스에서 구현되어야 합니다. 그러나 추상으로 선언되지 않은 메소드는 하위 클래스의 공개 메소드가 됩니다. 하위 클래스
|

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

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

뜨거운 주제











Alipay PHP ...

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

기사는 입력 유효성 검사, 인증 및 정기 업데이트를 포함한 취약점을 방지하기 위해 프레임 워크의 필수 보안 기능을 논의합니다.

PHP 개발에서 견고한 원칙의 적용에는 다음이 포함됩니다. 1. 단일 책임 원칙 (SRP) : 각 클래스는 하나의 기능 만 담당합니다. 2. Open and Close Principle (OCP) : 변경은 수정보다는 확장을 통해 달성됩니다. 3. Lisch의 대체 원칙 (LSP) : 서브 클래스는 프로그램 정확도에 영향을 미치지 않고 기본 클래스를 대체 할 수 있습니다. 4. 인터페이스 격리 원리 (ISP) : 의존성 및 사용되지 않은 방법을 피하기 위해 세밀한 인터페이스를 사용하십시오. 5. 의존성 반전 원리 (DIP) : 높고 낮은 수준의 모듈은 추상화에 의존하며 종속성 주입을 통해 구현됩니다.

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

PHP 개발에서 PHP의 CURL 라이브러리를 사용하여 JSON 데이터를 보내면 종종 외부 API와 상호 작용해야합니다. 일반적인 방법 중 하나는 컬 라이브러리를 사용하여 게시물을 보내는 것입니다 ...

시스템이 다시 시작된 후 UnixSocket의 권한을 자동으로 설정하는 방법. 시스템이 다시 시작될 때마다 UnixSocket의 권한을 수정하려면 다음 명령을 실행해야합니다.
