cari
Rumahpembangunan bahagian belakangmasalah PHPApakah perbezaan antara warisan kelas dan warisan antara muka dalam php

Dalam PHP, perbezaan antara warisan kelas dan warisan antara muka ialah: Kelas PHP tidak menyokong warisan berbilang, iaitu subkelas hanya boleh mewarisi satu kelas induk, tetapi menyokong warisan berbilang peringkat, manakala antara muka menyokong warisan berbilang , iaitu, Iaitu, antara muka boleh mewarisi satu atau lebih antara muka.

Apakah perbezaan antara warisan kelas dan warisan antara muka dalam php

Persekitaran pengendalian artikel ini: sistem Windows 10, PHP versi 7.1, komputer Dell G3.

Apakah perbezaan antara warisan kelas dan warisan antara muka dalam PHP

warisan kelas PHP:

1 kelas PHP tidak menyokong warisan berbilang, iaitu subkelas boleh hanya mewarisi satu kelas induk, tetapi menyokong warisan berbilang peringkat

Contohnya:

class frist{
  public function __construct(){
    echo "我是第一个类。","<br>";
  }
  public function printer(){
    echo "frist","<br>";
  }
}
class seconds extends frist{}
class third extends seconds{}
$obj = new third();
$obj->printer();

Keputusan: Ini adalah kelas pertama. Kelas kedua dan ketiga frist tidak mengatasi kaedah pencetak() Kaedah pencetak() boleh dipanggil selepas kelas ketiga dibuat seketika.

2. Isu kebenaran warisan

(1) Kaedah persendirian kelas induk tidak boleh diwarisi, dan kelas induk diswastakan

(2) Kaedah yang dilindungi bagi kelas induk boleh diwarisi, tetapi Ia tidak boleh dipanggil oleh objek instantiated Jika dipanggil, mesej ralat "Panggil ke kaedah yang dilindungi frist::printer()" akan muncul

(3) Kaedah awam kelas induk boleh Diwarisi dan boleh dipanggil oleh objek instantiated, ia adalah kaedah awam

(4) Subkelas boleh mengatasi kaedah awam atau dilindungi kelas induk, tetapi tidak boleh memperibadikan semula kaedah Jika nama yang sama digunakan, isytiharkan semula dalam kelas ini

3 Warisan kelas antara muka

(1) Antara muka menyokong warisan berbilang, dan kaedah bagi kelas antara muka tidak perlu dilaksanakan Contohnya:

interface frist{
  public function ex1();
}
interface seconds{
  public function ex2();
}
interface third extends frist,seconds{
  public function ex3();
}
class fourth implements third{
  public function ex1(){}
  public function ex2(){}
  public function ex3(){}
}
class fourth implements frist,seconds{
  public function ex1(){}
  public function ex2(){}
}
(2) Kebenaran kaedah kelas antara muka Semuanya adalah awam, dan lalainya adalah awam

(3) Kelas yang merujuk kepada antara muka mesti melaksanakan semua kaedah antara muka, jika tidak, ralat akan dilaporkan, seperti: "Kelas e mengandungi 1 kaedah abstrak dan oleh itu mesti diisytiharkan abstrak atau melaksanakan kaedah yang selebihnya ", iaitu: kelas e mengandungi 1 kaedah abstrak, jadi kaedah yang selebihnya mesti diisytiharkan sebagai abstrak atau dilaksanakan.

4. Kelas abstrak: Selagi satu kaedah dalam kelas adalah kaedah abstrak, maka kelas ini mesti ditakrifkan sebagai kelas abstrak

(1) Kelas abstrak mewarisi dan kelas abstrak tidak boleh mengatasi kaedah induk.

(2) Warisan kelas abstrak ialah pengembangan kaedah kelas induk.

(3) Semua kaedah abstrak dalam kelas turunan yang diwarisi mesti terlebih beban sebelum ia boleh digunakan.

(4) Pengedaran biasa yang dilaksanakan oleh kelas abstrak boleh dipanggil terus dalam subkelas bukan abstrak.

5 Persamaan dan perbezaan antara antara muka dan kelas abstrak (merujuk kepada perbezaan antara kelas abstrak dan antara muka)

(1) Penggunaan antara muka dicapai melalui pelaksana kata kunci, dan untuk abstrak kelas Operasi dilaksanakan menggunakan kata kunci exotends warisan kelas

(2) Antara muka tidak mempunyai ahli data, tetapi kelas abstrak mempunyai ahli data, dan kelas abstrak boleh melaksanakan enkapsulasi data.

(3) Antara muka tidak mempunyai pembina, tetapi kelas abstrak boleh mempunyai pembina.

(4) Kaedah dalam antara muka adalah semua jenis awam, manakala kaedah dalam kelas abstrak boleh diubah suai dengan persendirian, dilindungi atau awam.

(5) Kelas boleh melaksanakan berbilang antara muka pada masa yang sama, tetapi hanya boleh melaksanakan satu kelas abstrak.

(6) Persamaan: Tiada apa-apa yang boleh ditulis dalam badan fungsi, seperti: function getName();.

Pembelajaran yang disyorkan: "

Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah perbezaan antara warisan kelas dan warisan antara muka dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular