>백엔드 개발 >PHP 튜토리얼 >PHP 객체 지향 프로그래밍 인터페이스 사용법_php 기술

PHP 객체 지향 프로그래밍 인터페이스 사용법_php 기술

WBOY
WBOY원래의
2016-05-16 20:37:48897검색

인터페이스는 PHP 객체지향 프로그래밍에서 매우 중요한 개념입니다. 이 문서에서는 예제 형식으로 PHP 인터페이스의 사용법을 더 자세히 설명합니다. 세부 내용은 다음과 같습니다.

인터페이스: 인터페이스

PHP에서는 객체가 어떤 공개 외부 작업을 가져야 하는지 지정할 수 있으며, 이는 인터페이스를 사용하여 지정할 수 있습니다.
공용 메서드는 인터페이스입니다. 객체를 어떤 공용 작업 방법(인터페이스)에 사용해야 하는지 지정하는 데 사용되며 인터페이스(공용 작업 방법 모음)라고도 합니다.
즉, 인터페이스(인터페이스 구조, 퍼블릭 메소드 컬렉션)

퍼블릭 메소드(인터페이스 메소드)
정의: 인터페이스라고 불리는 객체가 가져야 하는 공용 작업 방법을 제한하는 데 사용되는 구조
구문: 인터페이스 구조를 정의하고 인터페이스 키워드를 사용합니다. 인터페이스에 정의된 것은 일부 공개 메소드입니다.

interface接口名
{
公共操作方法列表
}

예는 다음과 같습니다.

interface I_Goods
{
public function sayName();
public function sayPrice();
}

참고:
1. 인터페이스 방식, 접근권한은 public이어야 합니다
2. 인터페이스에는 공개 메소드만 있을 수 있고 멤버 변수는 있을 수 없습니다.
3. 인터페이스에는 구현되지 않은 메서드(추상 메서드라고도 함)만 포함될 수 있지만 abstract 키워드는 사용되지 않습니다.

클래스는 인터페이스를 구현하고 키워드 Implements를 사용하여 완료합니다.

예:

interface I_Goods
{
public function sayName();
public function sayPrice();
}
class Goods implements I_Goods
{
public function sayName()
{
}
public function sayPrice()
{
}
}

이렇게 인터페이스를 구현하는 클래스는 인터페이스의 모든 추상 메소드를 구현해야 합니다. 그리고 이 방법은 공개적인 외부 운영 방법임이 틀림없다.

다중 구현: 이 기능은 이론적으로 추상 클래스를 통해 구현할 수 있지만 추상 클래스는 전문적이지 않습니다.
php는 다중 구현을 지원하고 단일 상속만 지원하기 때문에 인터페이스를 사용하는 것이 구현 측면에서 더욱 전문적입니다.

예는 다음과 같습니다.

interface I_Goods
{
public function sayName();
public function sayPrice();
}
interface I_Shop
{
public function saySafe();
}
class Goods implements I_Goods , I_Shop
{
public function sayName()
{
}
public function sayPrice()
{
}
public function saySafe()
{
}
}

인터페이스도 상속될 수 있습니다
예는 다음과 같습니다.

interface I_Goods
{
public function sayName();
public function sayPrice();
}
interface I_Shop extends I_Goods
{
public function saySafe();
}
class Goods implements I_Shop
{
public function sayName()
{
}
public function sayPrice()
{
}
public function saySafe()
{
}
}

PHP 객체 인터페이스 지원, 클래스 상수 정의 가능

예는 다음과 같습니다.

interface I_Goods
{
const PAI = 3.14;
public function sayName();
public function sayPrice();
}
interface I_Shop extends I_Goods
{
public function saySafe();
}
class Goods implements I_Shop
{
public function sayName()
{
}
public function sayPrice()
{
}
public function saySafe()
{
}
}
echo Goods::PAI;

실행 출력: 3.14

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