백엔드 개발 PHP 튜토리얼 키워드 인터페이스 사용에 대한 자세한 설명 및 PHP 구현

키워드 인터페이스 사용에 대한 자세한 설명 및 PHP 구현

Jul 05, 2017 am 10:35 AM
implements interface 키워드

PHP 클래스는 단일 상속입니다. 즉, 클래스가 여러 클래스의 기능을 요구하는 경우 상속은 무력합니다. 이러한 이유로 PHP는 클래스 인터페이스 기술을 도입합니다. 다음 기사에서는 PHP의 키워드 인터페이스 및 구현에 대한 관련 정보를 주로 소개합니다. 필요한 친구들이 함께 참고할 수 있습니다.

PHP 인터페이스

PHP 클래스는 단일 상속입니다. 즉, 클래스가 여러 클래스의 기능을 요구하는 경우 상속은 무력합니다. 이러한 이유로 PHP는 클래스 인터페이스 기술을 도입합니다. .

추상 클래스의 모든 메서드가 추상 메서드이고 변수가 선언되지 않고 인터페이스의 모든 멤버가 공개 권한을 갖는 경우 이 특별한 추상 클래스를 인터페이스라고 합니다.

인터페이스는 인터페이스 키워드를 사용하여 정의되며, 키워드 Implements는 완전히 구현되어야 하는 인터페이스의 메서드를 구현하는 데 사용됩니다.

클래스에 인터페이스 적용

1. 키워드: 인터페이스

2. 키워드: 구현

1. 인터페이스 소개 및 생성

인터페이스: 멤버 속성모두 특별한 추상입니다. 추상적이거나 상수인 클래스.

규칙:

1. 클래스의 모든 메서드는 추상 메서드입니다.

2. 추상 메서드에는 추상을 추가할 필요가 없습니다.

3. 인터페이스의 추상 메소드 속성은 공개입니다.

4. 멤버 속성은 상수여야 합니다.

형식 코드는 다음과 같습니다.

interface demo { 
const NAME = "常量对象属性"; 
function fun1(); 
function fun2(); //抽象方法。 
}
로그인 후 복사

2. 인터페이스의 적용 및 사양

인터페이스 참조는 클래스 상속 키워드extends와 다릅니다. 반면 인터페이스는 키워드 구현을 사용할 수 있습니다. 쉼표로 구분된 여러 개의 참조가 있습니다

1. 형식: 일반 클래스 참조 인터페이스

class MyPc implements demo , demo2 , demo3 { 
... 
}
로그인 후 복사

2. 형식: 추상 클래스 응용 프로그램 인터페이스 예

abstract class MyPc implements demo , demo2 , demo3 { 
... 
}
로그인 후 복사

3. 형식: 공존하려면 상위 클래스 참조 인터페이스를 먼저 상속한 다음 인터페이스를 상속합니다. , 단일 상속 다중 인터페이스.

4. 형식: 인터페이스 및 인터페이스 상속

class MyPc extends Root implements demo , demo2 , demo3 { 
... 
}
로그인 후 복사

예제 코드는 다음과 같습니다.

interface demo3 extends demo { 
... 
}
로그인 후 복사

예를 들어 인터페이스는 키워드 인터페이스를 사용하여 정의되고 키워드 Implements는 인터페이스에서 메서드를 구현하는 데 사용됩니다. 완전히 구현되어야 합니다.

예제 코드는 다음과 같습니다.

<?php 
interface demo { 
 const NAME = "名称"; 
 function fun1(); 
 function fun2(); 
} 
interface demo2 { 
 function fun3(); 
 function fun4(); 
} 
interface demo3 { 
 const TEST = "Test"; 
 function fun5(); 
} 
class MyPc implements demo, demo2 { 
 function fun1() { 
 echo "++++++++++<br />"; 
 } 
 function fun2() { 
 echo "----------<br />"; 
 } 
 function fun3() { 
 echo "1111111111<br />"; 
 } 
 function fun4() { 
 echo "2222222222<br />"; 
 } 
} 
class MyPs extends MyPc implements demo3 { 
 function fun5() { 
 echo "继承类后引用接口"; 
 } 
} 
$p = new MyPs; 
$p->fun1(); 
$p->fun2(); 
$p->fun3(); 
$p->fun4(); 
$p->fun5(); 
?>
로그인 후 복사

예제를 실행하면 출력은 다음과 같습니다.

VIP 사용자 제품 가격: 80위안

이 예는 PHP 인터페이스의 간단한 적용을 보여줍니다. 이 예에서 User 인터페이스는 사용자 할인을 구현하고 VipUser 클래스는 특정 할인 계수를 구현합니다. 마지막으로 상품 카테고리 상품은 사용자 인터페이스를 기반으로 다양한 사용자 견적을 구현합니다.

이 예는 PHP 인터페이스의 사용법을 보여주는 것으로 제한되며 과학적 성격을 포함하지 않습니다.

다중 인터페이스 구현

PHP는 클래스를 상속할 때 동시에 여러 인터페이스를 구현할 수도 있습니다.

<?php 
//定义接口 
interface User{ 
 function getDiscount(); 
 function getUserType(); 
} 
//VIP用户 接口实现 
class VipUser implements User{ 
 // VIP 用户折扣系数 
 private $discount = 0.8; 
 function getDiscount() { 
  return $this->discount; 
 } 
 function getUserType() { 
  return "VIP用户"; 
 } 
} 
class Goods{ 
 var $price = 100; 
 var $vc; 
 //定义 User 接口类型参数,这时并不知道是什么用户 
 function run(User $vc){ 
  $this->vc = $vc; 
  $discount = $this->vc->getDiscount(); 
 $usertype = $this->vc->getUserType(); 
  echo $usertype."商品价格:".$this->price*$discount; 
 } 
} 
$display = new Goods(); 
$display ->run(new VipUser); //可以是更多其他用户类型 
?>
로그인 후 복사

추상 클래스와 인터페이스의 차이점인터페이스는 특별한 추상 클래스입니다. Do는 모델의 사양입니다. 인터페이스와 추상 클래스의 일반적인 차이점은 다음과 같습니다.

1. 하위 클래스가 인터페이스를 구현하는 경우(필요 여부에 관계없이) 인터페이스의 모든 메서드를 구현해야 합니다. 필요한 메소드를 구현합니다.

2. 인터페이스에 정의된 메서드 이름이 변경되면 이 인터페이스를 구현하는 모든 하위 클래스는 메서드 이름을 동기적으로 업데이트해야 하며, 추상 클래스의 메서드 이름이 변경되면 해당 하위 클래스의 메서드 이름은 업데이트되지 않습니다. 영향을 받습니다. (이전 메서드 구현과 관련하여) 새로운 메서드가 됩니다.

3. 추상 클래스는 단독으로만 상속될 수 있습니다. 하위 클래스가 여러 상위 클래스에서 상속되어야 하는 기능을 구현해야 하는 경우 인터페이스를 사용해야 합니다.

아아아아

위 내용은 키워드 인터페이스 사용에 대한 자세한 설명 및 PHP 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

C 언어에서 static 키워드의 역할과 사용법에 대한 심층 분석 C 언어에서 static 키워드의 역할과 사용법에 대한 심층 분석 Feb 20, 2024 pm 04:30 PM

C 언어에서 static 키워드의 역할과 사용법에 대한 심층 분석 C 언어에서 static은 함수, 변수 및 데이터 유형을 정의하는 데 사용할 수 있는 매우 중요한 키워드입니다. static 키워드를 사용하면 객체의 링크 속성, 범위, 생명주기가 변경될 수 있습니다. C 언어에서 static 키워드의 역할과 사용법을 자세히 분석해 보겠습니다. 정적 변수 및 함수: 함수 내에서 static 키워드를 사용하여 정의된 변수를 전역 수명 주기를 갖는 정적 변수라고 합니다.

PHP에서 var 키워드의 역할과 예 PHP에서 var 키워드의 역할과 예 Jun 28, 2023 pm 08:58 PM

PHP에서 var 키워드의 역할과 예 PHP에서는 var 키워드를 사용하여 변수를 선언합니다. 이전 PHP 버전에서는 var 키워드를 사용하는 것이 멤버 변수를 선언하는 관용적인 방법이었지만 더 이상 사용이 권장되지 않습니다. 그러나 어떤 경우에는 var 키워드가 계속 사용됩니다. var 키워드는 주로 지역 변수를 선언하는 데 사용되며 해당 변수는 자동으로 지역 범위로 표시됩니다. 즉, 변수는 현재 코드 블록 내에서만 볼 수 있으며 다른 함수나 코드 블록에서는 액세스할 수 없습니다. var 사용

C언어에서는 go가 키워드인가요? 상세한 분석 C언어에서는 go가 키워드인가요? 상세한 분석 Mar 16, 2024 am 10:30 AM

제목: C언어에서는 go가 키워드인가요? 상세 분석 C 언어에서 "go"는 키워드가 아닙니다. C 언어의 키워드는 C 표준에 의해 지정되며 특정 문법 구조나 기능을 나타내는 데 사용됩니다. 이는 컴파일러에서 특별한 의미를 가지며 식별자나 변수 이름으로 사용할 수 없습니다. 예를 들어, 키워드 "int"는 정수 데이터 유형을 나타내고 "if"는 조건문을 나타내는 식입니다. "go"가 C 언어의 키워드인지 확인하려면 간단한 프로그램을 작성하여 테스트할 수 있습니다. 예는 다음과 같습니다: #inc

C 언어에는 몇 개의 키워드가 있습니까? C 언어에는 몇 개의 키워드가 있습니까? Nov 22, 2022 pm 03:39 PM

C 언어에는 32개의 키워드가 있습니다. 키워드의 기능에 따라 데이터 유형 키워드, 제어문 키워드, 저장 유형 키워드 및 기타 키워드의 네 가지 범주로 나눌 수 있습니다. char, double, float, int 등을 포함한 12개의 데이터 유형 키워드가 있습니다. for, break, if, else, do 등을 포함한 12개의 제어문 키워드가 있습니다. auto, static, extern 등 const, sizeof 등을 포함한 4개의 다른 키워드가 있습니다.

PHP8은 문자열 가능 인터페이스를 어떻게 사용하여 다양한 유형의 문자열을 처리합니까? PHP8은 문자열 가능 인터페이스를 어떻게 사용하여 다양한 유형의 문자열을 처리합니까? Oct 18, 2023 am 11:33 AM

PHP8은 StringableInterface를 어떻게 사용하여 다양한 유형의 문자열을 처리합니까? PHP8에는 개발자가 다양한 유형의 문자열을 보다 편리하게 처리하는 데 도움이 되는 새로운 인터페이스 Stringable이 도입되었습니다. 과거에는 일반적으로 is_string() 함수를 사용하여 변수가 문자열 유형인지 확인한 후 해당 작업을 수행했습니다. 이제 Stringable 인터페이스를 사용하면 유형을 결정할 필요 없이 문자열을 보다 직관적으로 처리할 수 있습니다.

PHP에서 확장 키워드의 역할과 사용법에 대한 자세한 설명 PHP에서 확장 키워드의 역할과 사용법에 대한 자세한 설명 Jun 28, 2023 pm 08:04 PM

PHP에서 확장 키워드의 역할과 사용법에 대한 자세한 설명 PHP 프로그래밍에서 확장은 클래스 상속을 구현하는 데 사용되는 매우 중요한 키워드입니다. 확장 키워드를 통해 하나 이상의 기존 클래스의 속성과 메서드를 상속할 수 있는 새 클래스를 만들 수 있습니다. 상속은 객체지향 프로그래밍에서 중요한 개념으로, 코드 재사용과 확장을 더욱 편리하고 유연하게 만들어줍니다. 이번 글에서는 extends 키워드의 기능과 사용법을 자세히 소개하겠습니다. 연장하다

언어 키워드 목록 바로가기 언어 키워드 목록 바로가기 Apr 07, 2024 pm 02:15 PM

Go 언어의 키워드는 다음과 같습니다: 기본 키워드: const, func, type, var, if, else, for, return 데이터 유형 관련 키워드: bool, string, int, float64, 인터페이스{}, map, 슬라이스 기타 키워드: break, 계속하다, 연기하다, 가다, 선택하다, 범위를 정하다

while이 Go 언어의 키워드인가요? while이 Go 언어의 키워드인가요? Jun 04, 2021 pm 05:01 PM

Go 언어에서 while은 키워드가 아닙니다. "for {sum++ if sum>10{break}else{...}}"와 같이 for 문과 break를 함께 사용하면 while 루프의 효과를 얻을 수 있습니다. go 언어에는 break, default, func, select, case, defer, go, map, else, goto, for, if, var 등과 같은 25개의 키워드가 있습니다.

See all articles