Jadual Kandungan
抽象类
接口
Trait 实现多继承

抽象类,接口,trait

Apr 04, 2018 pm 02:00 PM
trait blog

本篇文章是PHP中抽象类、接口和trait的一些内容,现在分享给大家,有需要的朋友也看以参考一下本篇文章的内容


抽象类


手册参考:http://php.net/manual/zh/language.oop5.abstract.php

定义:PHP 5 支持抽象类和抽象方法。定义为抽象的类不能被实例化。任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。且继承一个抽象类的时候,子类必须定义父类中的所有抽象方法(抽象类中可定义常量);

关键字 : 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";
Salin selepas log masuk


接口

关键字 : interface

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;;
  }

}
//接口中只能有抽象方法(不能定义常量,不能有构造方法,不能有普通方法),且接口类中所有未实现的方法需要在子类中全部实现
Salin selepas log masuk



Trait 实现多继承

参考地址 https://www.cnblogs.com/smallrookie/p/6516010.html

定义:从PHP 5.4.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不能实例化,不能有常量
Salin selepas log masuk

相关推荐:

php面向对象接口,继承,抽象类,析构,克隆等高级特性实例详解

初识 php 接口

PHP中Trait的特性及作用分享


Atas ialah kandungan terperinci 抽象类,接口,trait . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Mulakan dari awal dan bimbing anda langkah demi langkah untuk memasang Flask dan segera buat blog peribadi Mulakan dari awal dan bimbing anda langkah demi langkah untuk memasang Flask dan segera buat blog peribadi Feb 19, 2024 pm 04:01 PM

Bermula dari awal, saya akan mengajar anda langkah demi langkah cara memasang Flask dan cepat membina blog peribadi Sebagai seorang yang suka menulis, mempunyai blog peribadi adalah sangat penting. Sebagai rangka kerja Web Python yang ringan, Flask boleh membantu kami membina blog peribadi yang ringkas dan berfungsi sepenuhnya dengan cepat. Dalam artikel ini, saya akan bermula dari awal dan mengajar anda langkah demi langkah cara memasang Flask dan membina blog peribadi dengan cepat. Langkah 1: Pasang Python dan pip Sebelum bermula, kita perlu memasang Python dan pi terlebih dahulu

Apakah sepuluh sistem blog PHP sumber terbuka teratas pada tahun 2022? 【mengesyorkan】 Apakah sepuluh sistem blog PHP sumber terbuka teratas pada tahun 2022? 【mengesyorkan】 Jul 27, 2022 pm 05:38 PM

Blog, juga diterjemahkan sebagai log web, blog atau blog, adalah laman web yang biasanya diuruskan oleh individu dan menyiarkan artikel baharu dari semasa ke semasa. Jadi bagaimana untuk menyediakan blog? Apakah sistem blog PHP? Sistem blog manakah yang terbaik untuk digunakan? Di bawah, laman web PHP Cina akan meringkaskan dan berkongsi sepuluh sistem blog PHP sumber terbuka teratas dengan anda.

Buat blog mudah: menggunakan PHP dan SQLite Buat blog mudah: menggunakan PHP dan SQLite Jun 21, 2023 pm 01:23 PM

Dengan perkembangan Internet, blog telah menjadi platform untuk lebih ramai orang berkongsi kehidupan, pengetahuan dan idea mereka. Jika anda juga ingin membuat blog sendiri, maka artikel ini akan memperkenalkan cara menggunakan PHP dan SQLite untuk membuat blog yang mudah. Tentukan keperluan Sebelum mula membuat blog, kita perlu tentukan fungsi yang ingin kita capai. Contohnya: Buat catatan blog Edit catatan blog Padam catatan blog Paparkan senarai catatan blog Paparkan butiran catatan blog Pengesahan pengguna dan kawalan kebenaran Pasang PHP dan SQLite Kita perlu memasang PHP dan S

Ciri PHP DTO: Memudahkan pembangunan objek pemindahan data Ciri PHP DTO: Memudahkan pembangunan objek pemindahan data Oct 12, 2023 am 09:04 AM

PHPtraitDTO: Memudahkan pembangunan objek pemindahan data Pengenalan: Dalam pembangunan perisian moden, objek pemindahan data (DataTransferObject, dirujuk sebagai DTO) memainkan peranan penting. DTO ialah bekas data tulen yang digunakan untuk memindahkan data antara lapisan. Walau bagaimanapun, semasa proses pembangunan, pembangun perlu menulis sejumlah besar kod serupa untuk mentakrif dan mengendalikan DTO. Untuk memudahkan proses ini, ciri ciri telah diperkenalkan dalam PHP Kita boleh menggunakan ciri ciri untuk

Pemahaman mendalam tentang corak reka bentuk dan amalan DTO trait PHP Pemahaman mendalam tentang corak reka bentuk dan amalan DTO trait PHP Oct 12, 2023 am 08:48 AM

Pemahaman mendalam tentang corak reka bentuk dan amalan PHPtraitDTO Pengenalan: Dalam pembangunan PHP, corak reka bentuk adalah bahagian penting. Antaranya, DTO (DataTransferObject) ialah corak reka bentuk yang biasa digunakan untuk merangkum objek pemindahan data. Dalam proses melaksanakan DTO, menggunakan ciri (ciri) boleh meningkatkan kebolehgunaan semula dan fleksibiliti kod dengan berkesan. Artikel ini akan menyelidiki corak reka bentuk dan amalan traitDTO dalam PHP

Bina laman web blog menggunakan rangka kerja Python Django Bina laman web blog menggunakan rangka kerja Python Django Jun 17, 2023 pm 03:37 PM

Dengan populariti Internet, blog memainkan peranan yang semakin penting dalam penyebaran maklumat dan komunikasi. Dalam konteks ini, semakin ramai orang mula membina laman blog mereka sendiri. Artikel ini akan memperkenalkan cara menggunakan rangka kerja PythonDjango untuk membina laman web blog anda sendiri. 1. Pengenalan kepada rangka kerja PythonDjango PythonDjango ialah rangka kerja web sumber terbuka dan percuma yang boleh digunakan untuk membangunkan aplikasi web dengan cepat. Rangka kerja ini menyediakan pembangun alat yang berkuasa untuk membantu mereka membina ciri yang kaya

Cara membuat blog mudah menggunakan PHP Cara membuat blog mudah menggunakan PHP Sep 24, 2023 am 08:25 AM

Cara membuat blog mudah menggunakan PHP 1. Pengenalan Dengan perkembangan pesat Internet, blog telah menjadi cara penting untuk orang ramai berkongsi pengalaman, merekodkan kehidupan dan menyatakan pendapat. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mencipta blog ringkas, dengan contoh kod tertentu. 2. Persediaan Sebelum memulakan, anda perlu mempunyai persekitaran pembangunan berikut: komputer dengan penterjemah PHP dan pelayan Web (seperti Apache) dipasang, sistem pengurusan pangkalan data, seperti MySQL, editor teks atau IDE3

DTO ciri PHP: alat utama untuk mengoptimumkan proses pemindahan data DTO ciri PHP: alat utama untuk mengoptimumkan proses pemindahan data Oct 12, 2023 pm 03:10 PM

PHPtraitDTO: Alat utama untuk mengoptimumkan proses penghantaran data, contoh kod khusus diperlukan Pengenalan: Semasa proses pembangunan, penghantaran data adalah keperluan yang sangat biasa, terutamanya apabila data dipindahkan antara tahap yang berbeza. Dalam proses penghantaran data ini, kami selalunya perlu memproses, mengesahkan atau menukar data untuk memenuhi keperluan perniagaan yang berbeza. Untuk meningkatkan kebolehbacaan dan kebolehselenggaraan kod, kami boleh menggunakan PHPtraitDTO (DataTransferObject) untuk mengoptimumkan

See all articles