>  기사  >  백엔드 개발  >  5분 후에 PHP의 인터페이스 선언과 응용 프로그램을 보여드리겠습니다(자세한 예).

5분 후에 PHP의 인터페이스 선언과 응용 프로그램을 보여드리겠습니다(자세한 예).

WBOY
WBOY원래의
2021-10-26 14:38:114089검색

이전 글에서는 "PHP에서 세션을 설정, 획득, 삭제하는 방법은 무엇인가요?"를 가져왔습니다. "에서는 PHP에서 세션을 설정, 획득 및 삭제하는 방법을 자세히 소개합니다. 이 기사에서는 PHP 인터페이스 인터페이스에 대한 관련 지식을 살펴보겠습니다. 모든 사람에게 도움이 되기를 바랍니다!

5분 후에 PHP의 인터페이스 선언과 응용 프로그램을 보여드리겠습니다(자세한 예).

이전 연구에서 PHP의 상속에 대해 배웠지만 PHP는 단일 상속만 지원합니다. 즉, 각 클래스는 하나의 상위 클래스만 상속할 수 있습니다. 상속의 특성은 객체 및 클래스 생성을 단순화하고 코드 재사용성을 높입니다. PHP가 단일 상속만 지원하는 문제를 해결하기 위해 PHP는 인터페이스를 도입했습니다. 인터페이스는 특별한 추상 클래스로 이해될 수 있으며 특별한 클래스로 간주될 수 있습니다. 다음으로 PHP 인터페이스에 대한 관련 지식을 살펴보겠습니다.

인터페이스 선언

인터페이스는 특수 클래스이므로 선언 방법이 있는데 이를 인터페이스 기술이라고 합니다. 일반적인 클래스 선언은 인터페이스가 특수하므로 "인터페이스" 키를 통해 선언해야 한다는 것을 이전 연구에서 알고 있습니다. 인터페이스 선언을 구현하는 단어입니다. interface”关键字来实现接口的声明。

声明接口interface 关键字的语法格式如下:

interface 接口名称{
// 常量成员
 // 抽象方法
}

其中需要注意的是:

  • 接口中所有的方法都是抽象方法,并且在方法前不需要使用abstract关键字进行修饰。因为默认权限是public公有的,所以在接口中不需要使用public访问权限来进行修饰。

  • 接口中只能使用const关键字生命为常量类型的成员属性,在接口中不能声明变量。

  • 接口不能实例化为对象,接口可以直接使用接口名称在接口外面获取常量成员的值。

接下来通过示例来看一下,示例如下:

<?php
    interface Demo{
        const STUDY = &#39;好好学习&#39;;
        const STUDY1 = &#39;天天向上&#39;;
        function fun1();
        function fun2();
    }
    echo Demo::STUDY.&#39;<br>&#39;;
    echo Demo::STUDY1;
?>

输出结果:

5분 후에 PHP의 인터페이스 선언과 응용 프로그램을 보여드리겠습니다(자세한 예).

由此我们便通过interface 关键字完成了接口的声明。

接口的应用

接口是不能进行实例化操作的,所以想要使用接口中的成员的话,就需要借助子类。我们通过implements关键字可以实现接口的继承,要是有多个接口继承的话,每个接口之间要使用,隔开。

在通过implements关键字继承接口的同时,还可以使用extends

키워드 선언 인터페이스 interface의 구문 형식은 다음과 같습니다.

class 类名 extends 父类名 implements 接口一, 接口二, ..., 接口 n {
// 实现所有接口中的抽象方法
}

주의해야 할 사항은 다음과 같습니다.

    interface 의 모든 메소드는 추상 메소드이므로 메소드 앞에 abstract 키워드를 사용하여 수정할 필요가 없습니다. 기본 권한은 public public이므로 인터페이스에서 공용 접근 권한으로 수정할 필요가 없습니다.

  • 5분 후에 PHP의 인터페이스 선언과 응용 프로그램을 보여드리겠습니다(자세한 예). 인터페이스에서는 상수 유형의 멤버 속성으로 const 키워드만 사용할 수 있으며, 인터페이스에서는 변수를 선언할 수 없습니다.
  • 인터페이스는 객체로 인스턴스화할 수 없습니다. 인터페이스는 인터페이스 이름을 직접 사용하여 인터페이스 외부의 상수 멤버 값을 얻을 수 있습니다.

예제를 살펴보겠습니다. 예는 다음과 같습니다.

<?php
    interface Demo{
        const STUDY = &#39;好好学习&#39;;
        const STUDY1 = &#39;天天向上&#39;;
        function fun1();
        function fun2();
    }
    class Website implements Demo{
        public function fun1(){
            echo self::STUDY.&#39;<br>&#39;;
        }
        public function fun2(){
            echo self::STUDY1;
        }
    }
    $obj = new Website();
    $obj -> fun1();
    $obj -> fun2();
?>

출력 결과:

5분 후에 PHP의 인터페이스 선언과 응용 프로그램을 보여드리겠습니다(자세한 예).

이로부터 인터페이스 키워드를 통한 인터페이스 선언이 완성됩니다.

인터페이스 적용

🎜🎜🎜인터페이스는 인스턴스화할 수 없으므로 인터페이스의 멤버를 사용하려면 서브클래스를 사용해야 합니다. implements 키워드를 통해 인터페이스 상속을 구현할 수 있습니다. 상속할 인터페이스가 여러 개인 경우 각 인터페이스를 ,로 구분해야 합니다. 🎜🎜🎜 implements 키워드를 통해 인터페이스를 상속하는 동안 extends 키워드를 사용하여 클래스를 상속할 수도 있습니다. 클래스를 상속하는 동안 여러 인터페이스를 구현할 수 있다는 점을 이해해야 합니다. 클래스를 상속하려면 먼저 확장을 사용한 다음 구현을 사용하여 여러 인터페이스를 구현해야 합니다. 구문 형식은 다음과 같습니다. 🎜
    interface One{
        function fun1();
        function fun2();
    }
    interface Two extends One{
        function fun3();
        function fun4();
    }
🎜 예제를 통해 인터페이스 적용을 살펴보겠습니다. 예제는 다음과 같습니다. 🎜🎜
    interface Demo{
        function fun1();
        function fun2();
    }
    abstract class Website implements Demo{
        public function fun2(){
            ... ... ;
        }
        abstract function fun3();
    }
🎜출력 결과: 🎜🎜🎜🎜🎜다음에 주의해야 할 사항. 실행 방법: 인터페이스는 인터페이스의 하위 클래스 메서드를 통해 상속되므로 인터페이스의 모든 메서드는 하위 클래스에서 구현되어야 합니다. 그렇지 않으면 PHP에서 오류 메시지가 표시됩니다. 🎜🎜위 예제의 적용 외에도 확장 키워드를 사용하여 한 인터페이스가 다른 인터페이스를 상속하여 인터페이스 간 확장을 구현할 수도 있습니다. 다음 예에서는 먼저 인터페이스 One을 정의한 다음 인터페이스 Two를 정의하여 One을 상속합니다. 🎜🎜예제는 다음과 같습니다. 🎜rrreee🎜또한 인터페이스에서 일부 메소드를 구현하기 위해 추상 클래스를 사용해야 하는 경우, 또한 구현 키 문자를 사용해야 합니다. 🎜🎜예는 다음과 같습니다. 🎜rrreee🎜많은 예를 들어보니 인터페이스의 구체적인 역할은 무엇인가요? 인터페이스는 템플릿이나 클래스 사양으로 생각하면 됩니다. 여러 사람이 개발하면 누구나 다음과 같이 구현할 수 있습니다. 일부 인터페이스는 이 클래스의 규정을 따릅니다. 이것은 PHP 인터페이스가 작동하는 때입니다. 🎜🎜관심이 있으시면 "🎜PHP 비디오 튜토리얼🎜"을 클릭하여 PHP 지식에 대해 자세히 알아볼 수 있습니다. 🎜

위 내용은 5분 후에 PHP의 인터페이스 선언과 응용 프로그램을 보여드리겠습니다(자세한 예).의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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