


인터페이스 추상 클래스 PHP에서 '인터페이스 지향 프로그래밍' 및 '결합 방법'을 구현하기 위해 인터페이스, 추상 클래스 및 일반 기본 클래스를 사용하는 방법에 대한 간략한 설명입니다.
코드 복사 코드는 다음과 같습니다.
/*
배우는 동시에 실천도 하고 있습니다. 읽기의 편의를 위해 전문가의 지도를 받아 출판하기도 합니다. 전문가의 지도를 환영합니다...
[Tip] 이 예시는 오류 없이 테스트를 통과했습니다
[시나리오 디자인]
컴퓨터 마더보드 IDE 인터페이스를 시뮬레이션합니다. 예: 마더보드가 자주 액세스할 수 있는 스토리지에는 다음이 포함됩니다. 광학 드라이브, 하드 디스크, 플래시 메모리 등,
편의상 이러한 서로 다른 메모리에 대해 동일한 인터페이스를 설정해야 합니다.
또한 이 예에서는 액세스를 위해 독특한 액세스 방식을 가진 전례 없는 에일리언 메모리도 마더보드에 추가된다고 가정합니다.
따라서 결합된 디자인 패턴을 채택해야 합니다.
[이 예제에서는 주로 설명]
1. 소위 "인터페이스" 모드는 인터페이스, 추상 클래스 및 일반 클래스 상속의 세 가지 방법을 통해 구현됩니다.
A. 부모 클래스로 사용됩니다. 하위 클래스가 특별한 부모 클래스이기 때문에 객체가 사용됩니다!
B. 이 세 가지 구현 방법 중 인터페이스의 기본 클래스 작성 방법, 추상 클래스 및 일반 클래스 상속에 주의하세요!
2. 인터페이스 모드는 그야말로 계약입니다!
3. 프로그래밍의 "커플링 디자인 패턴"!
*/
//---------------------------- ------------------
/*[방법 1] 인터페이스 구현 방법:*/
인터페이스 readandwrite {
function read();
function write();
}
클래스 마더보드{
private $storage
function __construct(readandwrite $obj){
$ this ->storage=$obj;
}
함수 read(){
$this->storage->read()
}
함수 write(){
$this->storage->write();
}
}
class flash는 readandwrite를 구현합니다.{
function __construct(){
echo "나는 플래시 메모리입니다:< ;br> ;";
}
function read(){
echo "데이터 읽기 시작...
";
}
function write(){
echo "데이터 저장 시작...
";
}
}
class yingpan은 읽기 및 쓰기를 구현합니다.{
function __construct(){
echo "나는 하드 디스크입니다. :< br>";
}
function read(){
echo "데이터 읽기 시작...
";
}
function write( ){
echo " 데이터 저장 시작...
";
}
}
class disco Implements readandwrite{
function __construct(){
echo "나는 CD입니다:
";
}
function read(){
echo "데이터 읽기 시작...
";
}
function write(){
echo "저장 시작 데이터...
";
}
}
//------------ --- --------------------- ---------
/*[메서드 2] 추상 클래스 구현 방법:
추상 클래스 readandwrite{
추상 함수 read();
추상 함수 write()
}
클래스 마더보드{
private $storage; 🎜>function __construct(readandwrite $obj){
$this->storage=$obj;
}
function read() {
$this->storage->read() ;
}
function write(){
$this->storage->write()
}
}
class flash는 readandwrite를 확장합니다.{
function __construct (){
echo "저는 플래시입니다:
}
function read(){
echo "데이터 읽기 시작...
"; }
function write(){
echo "데이터 저장 시작...}
}
class yingpan은 readandwrite를 확장합니다.{
function __construct(){
echo "내가 하드 디스크입니다:
}
function read(){
echo "데이터 읽기 시작...
";
function write(){
echo "데이터 저장 시작...
}
}
class disco는 readandwrite를 확장합니다.{
function __construct(){
echo "나는 디스크입니다:
}
function read(){
echo "데이터 읽기 시작...
"
>function write(){
echo "데이터 저장 시작... .
"
}
}
*/
//--------- ----------------- --------------------------------- ------------
// [방법 3] 일반적인 클래스 상속 구현 방법:
/*
class readandwrite{
function read(){
echo "읽기..........." ;
}
function write(){
echo "쓰기..........."; >}
}
클래스 마더보드{
private $storage;
function __construct(readandwrite $obj){
$this->storage=$obj; function read(){
$this->storage->read();
}
function write(){
$this->storage->write(); 🎜>}
}
클래스 플래시는 읽기 및 쓰기를 확장합니다.{
function __construct(){
echo "나는 플래시 메모리입니다:
}
function read() {
echo "데이터 읽기 시작.... ..
";
}
function write(){
echo "데이터 저장 시작...
";
}
}
class yingpan은 readandwrite를 확장합니다.{
function __construct(){
echo "나는 하드 디스크입니다:
"
}
function read (){
echo "데이터 읽기 시작...
"
}
function write(){
echo "데이터 저장 시작...
"; 🎜>}
}
class disco는 readandwrite를 확장합니다.{
function __construct(){
echo "나는 CD입니다:
}
function read() {
echo " 데이터 읽기 시작...
"
}
function write(){
echo "데이터 저장 시작...
"; }
}
*/
//----------------------------------- - ----------------------
/*
【커플링 모드】
결합 모드는 서로 다른 표준을 가진 두 클래스를 결합하는 것입니다(이 예에서는 인터페이스, 추상 클래스, 일반 기본 클래스 및 Alien 저장소가 서로 다른 액세스 방법을 가짐).
중간 변환기를 통해 동일한 표준을 달성하며, 전송과 마찬가지로 line - 이 예는 알 수 없는 클래스의 Rdata 및 Wdata 메서드를 읽기 및 쓰기 메서드로 변환하여 이 예의 인터페이스, 추상 클래스 및 일반 기본 클래스와 동일한 액세스 방법을 달성하는 것입니다. 이 예에서 중간 변환기는 Apdater 클래스.
PHP에서는 하나의 클래스만 상속할 수 있지만 여러 인터페이스는 상속할 수 있으므로 세 가지 결합 방법이 생성되었습니다.
방법 1: 중간 변환기 Apdater 클래스는 추상 클래스 또는 일반 기본 클래스를 상속하지만 PHP는 상속만 수행하므로 클래스를 상속받을 수 있으므로 Apdater
클래스에 외계인 메모리 클래스의 알 수 없는 객체를 정의하고, 상속받은 추상 클래스나 일반 기본 클래스의 액세스 메서드를 오버로드하여 액세스 메서드를 변환
합니다. 동일한 액세스 방법의 목적.
방법 2: 중간 변환기 Apdater 클래스는 알 수 없는 외계 메모리 클래스와 인터페이스를 상속합니다. 이때 Apdater 클래스
(parent::Rdata() 및 parent::Wdata의 액세스 메서드를 직접 사용할 수 있습니다. ()—— 하위 클래스가 PHP에서 상위 클래스 메서드를 호출하는 방식), 인터페이스 지정 메서드
를 구현하여 액세스 메서드를 동일한 액세스 메서드로 변환하는 방식입니다.
방법 3: 인터페이스를 상속(구현)한다는 점을 제외하면 방법 1과 동일합니다.
*/
//------ - ------------------------------------------------- -
/*
[방법 1]
*/
/*
class unknow{
function __construct(){
echo " I 지구인에게는 알려지지 않은 외계 저장소입니다. 지구의 저장소와 다른 액세스 방법을 가지고 있습니다:
";
}
function Rdata(){
echo " 지금 읽고 있어요...
";
}
function Wdata(){
echo "지금 쓰고 있어요...
" ;
}
}
class Adpater는 readandwrite를 확장합니다.{
private $obj;
function __construct(unknow $x){
$this->obj=$x; read(){
$this->obj->Rdata()
}
function write(){
$this->obj-> >}
}
*/
//--------------- -------- ----------------------------------
/*
[방법 2]
class unknow{
function __construct(){
echo "나는 지구상 사람들에게 알려지지 않은 외계 기억입니다. 나는 지구상의 기억과 다른 기억을 가지고 있습니다. 액세스 방법: < /font>
";
}
function Rdata(){
echo "지금 읽고 있습니다...
";
}
function Wdata( ){
echo "지금 쓰고 있습니다...
"
}
}
class Adpater는 알 수 없음을 구현합니다. readandwrite {
function read(){
parent::Rdata();
}
function write(){
parent::Wdata()
}
}
*/
//--- ------------------------- ------------ ------
/*
【방법 3】
*/
class unknow{
function __construct(){
echo "나는 지구상의 사람들에게 알려지지 않은 외계인 저장소입니다. 나는 지구상의 저장소와 다른 접근 방법을 가지고 있습니다: < /font>
"; }
function Rdata(){
echo "지금 읽고 있습니다...
"
}
function Wdata(){
echo "지금 쓰고 있습니다. ...
";
}
}
Adpater 클래스는 읽기 및 쓰기를 구현합니다.{
private $obj;
function __construct(unknow $x){
$this-> ;obj=$x;
}
함수 읽기(){
$this->obj->Rdata( )
}
함수 쓰기(){
$ this->obj->Wdata();
}
}
//[프로그램 본문 호출]
echo " 객체 지향 프로그래밍 - 인터페이스
";
$storage1=새 플래시( );
$computer=새 마더보드($storage1);
$computer ->읽기();
$computer->write();
$storage2=new yingpan()
$computer=새 마더보드($storage2); ;읽기();
$computer->write();
$storage3=새 디스코()
$computer=새 마더보드($storage3); ();
$computer->write();
$un_storage=new unknow();
$ apdaterx=new Adpater($un_storage)
$computer=새 마더보드($apdaterx );
$컴퓨터->읽기();
위는 인터페이스, 추상 클래스, 일반 기본 클래스를 사용하여 "인터페이스 지향 프로그래밍"과 "결합 방법"을 구현하는 PHP의 인터페이스 추상 클래스에 대한 간략한 소개입니다. 인터페이스 추상 클래스의 내용도 포함되어 있습니다. PHP 튜토리얼에 관심이 있다면 도움이 될 것입니다.

핫 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)

뜨거운 주제











Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Alipay PHP ...

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

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

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

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