목차
추상 클래스
인터페이스
백엔드 개발 PHP 튜토리얼 추상 클래스, 인터페이스, 특성

추상 클래스, 인터페이스, 특성

Apr 04, 2018 pm 02:00 PM
trait 블로그

이 기사는 PHP의 추상 클래스, 인터페이스 및 특성에 관한 것입니다. 도움이 필요한 친구들도 이 기사의 내용을 참조할 수 있습니다.


추상 클래스


설명서 참조:http ://php.net/manual/zh/언어.oop5.abstract.php

정의:PHP 5는 추상 클래스와 추상 메소드를 지원합니다. abstract로 정의된 클래스는 인스턴스화할 수 없습니다. 적어도 하나의 메소드가 추상으로 선언된 경우 모든 클래스는 추상으로 선언되어야 합니다. 그리고 추상 클래스를 상속할 때 하위 클래스는 상위 클래스의 모든 추상 메소드를 정의해야 합니다(상수는 추상 클래스에서 정의할 수 있음).

키워드: abstract

<?php
abstract class AbstractClass
{
    const NAME=&#39;张三&#39;;
 // 强制要求子类定义这些方法
    abstract protected function getValue();
    abstract protected function prefixValue($prefix);

    // 普通方法(非抽象方法)
    public function printOut() {
        print $this->getValue() . "\n";
    }
}

class ConcreteClass1 extends AbstractClass
{
    protected function getValue() {
        return "ConcreteClass1".self::NAME;
    }

    public function prefixValue($prefix) {
        return "{$prefix}ConcreteClass1";
    }
}


$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue(&#39;FOO_&#39;) ."\n";
로그인 후 복사


인터페이스

키워드: 인터페이스

interface test1{

  function say();
}
interface test2{
  function see();

}

//接口继承接口 (继承接口时使用extends关键字)

interface test3 extends test1,test2
{
    function sleep();

}

//类实现接口(实现接口时使用 implements关键字)

class test implements test1,test2{
  public function say(){}
  public function see(){}
  public function sleep()
  {
    echo &#39;休息&#39;;
  }

}
//接口中只能有抽象方法(不能定义常量,不能有构造方法,不能有普通方法),且接口类中所有未实现的方法需要在子类中全部实现
로그인 후 복사



Trait는 다중 상속을 구현합니다

참조 주소 https://www.cnblogs.com/smallrookie/p/6516010.html

정의:

PHP 5에서. 0 PHP 시작 새로운 코드 재사용 방식을 구현합니다.

<?php
trait A {
    public function smallTalk() {
        echo &#39;a&#39;;
    }
    public function bigTalk() {
        echo &#39;A&#39;;
    }
}
trait B {
    public function smallTalk() {
        echo &#39;b&#39;;
    }
    public function bigTalk() {
        echo &#39;B&#39;;
    }
}
 
class Aliased_Talker {
    use A, B {
        B::smallTalk insteadof A;  //使用B类的smallTalk方法(替换A方法)
        A::bigTalk insteadof B;
        B::bigTalk as talk;//重命名 B类中的bigTalk方法重命名为talk方法
    }
}

$obj = new Aliased_Talker;
$obj->smallTalk(); //b
$obj->bigTalk(); //A
$obj->talk();//B
//trait不能实例化,不能有常量
로그인 후 복사
관련 권장 사항:

PHP 객체 지향 인터페이스, 상속, 추상 클래스, 파괴, 복제 등과 같은 고급 기능의 자세한 예

PHP 인터페이스 첫 소개

특성 공유 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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

처음부터 시작하여 Flask를 설치하고 개인 블로그를 빠르게 구축하는 방법을 단계별로 안내합니다. 처음부터 시작하여 Flask를 설치하고 개인 블로그를 빠르게 구축하는 방법을 단계별로 안내합니다. Feb 19, 2024 pm 04:01 PM

Flask를 설치하는 방법과 개인 블로그를 빠르게 구축하는 방법을 처음부터 차근차근 가르쳐드리겠습니다. 글쓰기를 좋아하는 사람으로서 개인 블로그를 갖는 것은 매우 중요합니다. 경량 Python 웹 프레임워크인 Flask를 사용하면 간단하고 완전한 기능을 갖춘 개인 블로그를 빠르게 구축할 수 있습니다. 이 기사에서는 처음부터 시작하여 Flask를 설치하고 개인 블로그를 빠르게 구축하는 방법을 단계별로 가르쳐 드리겠습니다. 1단계: Python 및 pip 설치 시작하기 전에 먼저 Python 및 pi를 설치해야 합니다.

2022년 상위 10개 오픈소스 PHP 블로그 시스템은 무엇입니까? 【추천하다】 2022년 상위 10개 오픈소스 PHP 블로그 시스템은 무엇입니까? 【추천하다】 Jul 27, 2022 pm 05:38 PM

웹 로그, 블로그, 블로그라고도 번역되는 블로그는 일반적으로 개인이 관리하고 수시로 새로운 기사를 게시하는 웹 사이트입니다. 그렇다면 블로그를 설정하는 방법은 무엇입니까? PHP 블로그 시스템이란 무엇입니까? 어떤 블로깅 시스템을 사용하는 것이 가장 좋습니까? 아래 PHP 중국어 웹사이트에서는 상위 10개 오픈 소스 PHP 블로그 시스템을 요약하고 공유합니다.

간단한 블로그 만들기: PHP와 SQLite를 사용하여 간단한 블로그 만들기: PHP와 SQLite를 사용하여 Jun 21, 2023 pm 01:23 PM

인터넷의 발달로 블로그는 점점 더 많은 사람들이 자신의 삶과 지식, 아이디어를 공유하는 플랫폼이 되었습니다. 자신만의 블로그를 만들고 싶다면 이 기사에서는 PHP와 SQLite를 사용하여 간단한 블로그를 만드는 방법을 소개합니다. 요구 사항 결정 블로그 만들기를 시작하기 전에 달성하려는 기능을 결정해야 합니다. 예: 블로그 게시물 작성 블로그 게시물 편집 블로그 게시물 삭제 블로그 게시물 목록 표시 블로그 게시물 세부 정보 표시 사용자 인증 및 권한 제어 PHP 및 SQLite 설치 PHP 및 S를 설치해야 합니다.

PHP 특성 DTO: 데이터 전송 객체 개발 단순화 PHP 특성 DTO: 데이터 전송 객체 개발 단순화 Oct 12, 2023 am 09:04 AM

PHPtraitDTO: 데이터 전송 개체 개발 단순화 소개: 최신 소프트웨어 개발에서 데이터 전송 개체(DataTransferObject, DTO라고 함)는 중요한 역할을 합니다. DTO는 계층 간에 데이터를 전송하는 데 사용되는 순수 데이터 컨테이너입니다. 그러나 개발 과정에서 개발자는 DTO를 정의하고 운영하기 위해 유사한 코드를 대량으로 작성해야 합니다. 이 프로세스를 단순화하기 위해 PHP에 특성 기능이 도입되었습니다. 특성 기능을 사용하면 됩니다.

PHP 특성 DTO의 디자인 패턴 및 사례에 대한 심층적인 이해 PHP 특성 DTO의 디자인 패턴 및 사례에 대한 심층적인 이해 Oct 12, 2023 am 08:48 AM

PHPtraitDTO의 디자인 패턴 및 사례에 대한 심층적인 이해 소개: PHP 개발에서 디자인 패턴은 필수적인 부분입니다. 그 중 DTO(DataTransferObject)는 데이터 전송 개체를 캡슐화하는 데 일반적으로 사용되는 디자인 패턴입니다. DTO를 구현하는 과정에서 특성을 사용하면 코드의 재사용성과 유연성을 효과적으로 향상시킬 수 있습니다. 이 기사에서는 PHP에서 traitDTO의 디자인 패턴과 사례를 탐구합니다.

Python Django 프레임워크를 사용하여 블로그 웹사이트 구축 Python Django 프레임워크를 사용하여 블로그 웹사이트 구축 Jun 17, 2023 pm 03:37 PM

인터넷의 대중화로 인해 블로그는 정보 전달 및 커뮤니케이션에서 점점 더 중요한 역할을 하고 있습니다. 이러한 맥락에서 점점 더 많은 사람들이 자신의 블로그 사이트를 구축하기 시작하고 있습니다. 이 기사에서는 PythonDjango 프레임워크를 사용하여 자신만의 블로그 웹사이트를 구축하는 방법을 소개합니다. 1. PythonDjango 프레임워크 소개 PythonDjango는 웹 애플리케이션을 빠르게 개발하는 데 사용할 수 있는 무료 오픈 소스 웹 프레임워크입니다. 프레임워크는 개발자에게 풍부한 기능을 구축하는 데 도움이 되는 강력한 도구를 제공합니다.

PHP 특성 DTO: 데이터 전송 프로세스를 최적화하기 위한 핵심 도구 PHP 특성 DTO: 데이터 전송 프로세스를 최적화하기 위한 핵심 도구 Oct 12, 2023 pm 03:10 PM

PHPtraitDTO: 데이터 전송 프로세스를 최적화하기 위한 핵심 도구이며 특정 코드 예제가 필요합니다. 소개: 개발 프로세스 중에 데이터 전송은 매우 일반적인 요구 사항이며, 특히 데이터가 서로 다른 수준 간에 전송될 때 더욱 그렇습니다. 이 데이터를 전송하는 과정에서 다양한 비즈니스 요구 사항을 충족하기 위해 데이터를 처리, 확인 또는 변환해야 하는 경우가 많습니다. 코드의 가독성과 유지 관리성을 향상시키기 위해 PHPtraitDTO(DataTransferObject)를 사용하여 최적화할 수 있습니다.

PHP를 사용하여 간단한 블로그를 만드는 방법 PHP를 사용하여 간단한 블로그를 만드는 방법 Sep 24, 2023 am 08:25 AM

PHP를 사용하여 간단한 블로그를 만드는 방법 1. 소개 인터넷의 급속한 발전으로 인해 블로그는 사람들이 경험을 공유하고, 삶을 기록하고, 의견을 표현하는 중요한 수단이 되었습니다. 이 기사에서는 특정 코드 예제와 함께 PHP를 사용하여 간단한 블로그를 만드는 방법을 소개합니다. 2. 준비 시작하기 전에 PHP 인터프리터와 웹 서버(예: Apache)가 설치된 컴퓨터, MySQL과 같은 데이터베이스 관리 시스템, 텍스트 편집기 또는 IDE3와 같은 개발 환경이 필요합니다.

See all articles