Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Kelas Akhir PHP

Kelas Akhir PHP

WBOY
WBOYasal
2024-08-29 13:06:03837semak imbas

Kelas akhir PHP ialah kelas yang menghalang penggantian kaedah kelas kanak-kanak hanya dengan awalan akhir dengan definisi. Ini bermakna jika kita mentakrifkan kaedah dengan awalan akhir maka ia akan menghalang kaedah mengatasi. Biasanya, pewarisan konsep PHP OOP akan membenarkan fleksibiliti yang besar dalam hierarki kelas. Anda boleh mencipta satu atau lebih subkelas yang digunakan untuk memanjangkan kefungsian kelas asas, tetapi konsep OOP PHP memberi cara untuk mencipta kelas tidak boleh dilanjutkan. Kelas/kelas sedemikian dipanggil Kelas Akhir/Kelas Akhir.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks:

final class Pavan{ }
final public function set_bike(){}

Bagaimana Kelas Akhir PHP Berfungsi?

Kelas Akhir PHP berfungsi berdasarkan pengisytiharan hanya dengan menambah kata kunci AKHIR sebelum perkataan kelas. Kelas Akhir berfungsi tanpa melanjutkan kelas. Kelas kanak-kanak tidak boleh mengatasi kaedah akhir. Pembolehubah kelas biasa tidak boleh digunakan untuk mengisytiharkan sebagai muktamad. Kelas atau kaedah akhir PHP tidak boleh dilanjutkan seperti kelas biasa yang lain. Jika kelas Akhir dilanjutkan menggunakan mana-mana kelas biasa lain maka Kelas Akhir akan membawa PHP untuk mengembalikan FATAL ERROR dalam output penyemak imbas. Begitu juga KAEDAH AKHIR.

Contoh Kelas Akhir PHP

Berikut adalah contoh yang diberikan di bawah:

Contoh #1

Di sini kelas dibuat menggunakan kata kunci akhir sebelum kelas. Kelas akhir "Automobile1" ini tidak boleh dilanjutkan. Di dalam kelas akhir, kaedah/fungsi akhir dicipta. Kemudian kelas biasa "Bmwcar1" dicipta dengan kaedah/fungsi dan kemudian mencipta kaedah/fungsi akhir di dalam tag perenggan. Kemudian kelas "Tata1" dicipta untuk melanjutkan "Bmwcar1" yang mempunyai fungsi/kaedah biasa "display()" tetapi kaedah price() tidak dibuat dalam kelas Tata1 kerana memanggilnya akan memberikan ralat maut kerana kata kunci akhir . Ia tidak boleh dilanjutkan. Kemudian objek "$bmwcar1" dibuat/dicipta. Memanggil kaedah paparan() dan harga kaedah akhir() dilakukan daripada kelas "Bmwcar1" dan "tata1".

Kod:

<?php
final   class   Automobile1{
final    public  function   set_color1(){   }
final    public  function   show1(){  }
}
class  Bmwcar1{
public  function   display1(){ echo "This is the bmwcar1 class \n";}
final public function  price1(){echo "This is the bmwcar1 class's final price method \n";}
}
class  Tata1   extends   Bmwcar1{
public   function  display1(){   echo  "This is tata1 class \n";}
}
$bmwcar1  =  new  Bmwcar1();
$tata1 =   new  Tata1();
$bmwcar1->display1();
$bmwcar1->price1();
$tata1->display1();
$tata1->price1();
?>

Output:

Kelas Akhir PHP

Contoh #2

Di sini kelas "A1" dicipta dengan kata kunci AKHIR. Kemudian fungsi normal "show1()" dicipta dengan dua pembolehubah. Di dalamnya jumlah pembolehubah akan disimpan dalam $sum1 pembolehubah. Kemudian fungsi gema digunakan untuk mencetak jumlah nilai pembolehubah. Kemudian kelas "B1" dicipta untuk melanjutkan kelas "A1". Di dalam kelas "B1" pendaraban pembolehubah dilakukan dan disimpan dalam pembolehubah $multi1. Hasil pendaraban dicetak menggunakan fungsi gema tetapi di sini kami melanjutkan kelas akhir "A1" dengan kelas biasa "B1". Di sini kami melanjutkan kelas/kaedah AKHIR. Ia mengembalikan FATAL ERROR kerana kami melanjutkan kelas FINAL.

Kod:

<?php
final Class A1
{
function show1($x1,$y1)
{
$sum1=$x1+$y1;
echo "Sum of the given no.s = ".$sum1;
}
}
class B1 extends A1
{
function show($x1,$y1)
{
$multi1=$x1*$y1;
echo "The Multiplication of the given no.s = ".$multi1;
}
}
$obj1= new B1();
$obj1->show1(1001,1001);
?>

Output:

Kelas Akhir PHP

Contoh #3

Di sini kelas biasa "C1" dengan fungsi e($xx1) dicipta kemudian kelas "D1" dicipta untuk melanjutkan kelas "C1" untuk menggunakan parameter "C1". Jadi kelas "D1" akan mewarisi sifat kelas "C1" dan juga akan mengandungi kelas sifat "D1". Sehingga ini semuanya betul. Kemudian kelas "A1" dicipta dengan fungsi/kaedah akhir di dalamnya dengan pembolehubah "x1", "y1" yang mengira jumlah pembolehubah. Selepas kelas "B1" ini dicipta untuk melanjutkan kelas "A1". Tetapi kelas akhir, kaedah tidak boleh dilanjutkan. Jika dicuba FATAL ERROR akan berlaku.

Kod:

<?php
class C1
{
function e($xx1){
echo 'The value of xx1 variable value'.$xx1;
}
}
class D1 extends C1
{
function e($xx1){
$f=2*$xx1;
echo 'The double value of f (xx1)'.$f;
}
}
class A1
{
final function show($x1,$y1)
{
$sum1=$x1+$y1;
echo "Sum of given no=".$sum1;
}
}
class B1 extends A1
{
function show($x1,$y1)
{
$mult1=$x1*$y1;
echo "Multiplication of given no=".$mult1;
}
}
$obj=new D1();
$obj->e(13);
$obj= new B1();
$obj->show(100,100);
?>

Output:

Kelas Akhir PHP

Contoh #4

Dalam contoh di bawah, kelas biasa dicipta pada mulanya dan kemudian kaedah terakhir dicipta di dalamnya dengan dua pembolehubah untuk mengira jumlah dua nilai pembolehubah kemudian kaedah/fungsi baharu dicipta di dalam kelas biasa untuk mendarab dua nilai pembolehubah dan mengembalikan hasilnya. Di sini hanya kaedah terakhir dibuat dan dipanggil tanpa perlu dilanjutkan supaya tidak akan berlaku ralat/ralat. Jumlah pembolehubah dan juga pendaraban pembolehubah akan dicetak.

Kod:

<?php
class BaseClassone{
final function calculateone($val11,$val12){
$sum1 = $val11+$val12;
echo "Sum of the given nums = ".$sum1;
}
function showone($x1,$y1){
$multip1=$x1*$y1;
echo "Multiplication of the given nums = ".$multip1."\n";
}
}
$obj= new BaseClassone();
$obj->showone(12,12);
$obj->calculateone(10,10);
?>

Output:

Kelas Akhir PHP

Kelebihan

Konsep Kelas Akhir PHP adalah unik dan tidak boleh dilanjutkan seperti kelas biasa. Sama seperti Kelas Akhir, kaedah Akhir juga tidak boleh dilanjutkan dengan cara yang unik. Konsep Kelas Akhir PHP akan menghalang fungsi warisan besar-besaran dan juga menggalakkan komposisi. Semua API Awam Kelas Akhir adalah/adalah sebahagian daripada antara muka/antara muka. Ia membantu dalam enkapsulasi. Kelas/kaedah akhir akan menghalang kelas/kaedah daripada mengatasi kelas/kaedah kanak-kanak. Kelas/kelas Akhir PHP akan menghalang eksploitasi. Walaupun kelas/kelas akhir tidak boleh dilanjutkan tetapi kelas akhir ini boleh dilanjutkan pada beberapa syarat. Ia seperti kelas Akhir menjadi atau boleh menjadi subkelas tetapi ia tidak boleh ditukar menjadi superclass.

Kata kunci akhir PHP malah boleh diletakkan sejurus sebelum atau selepas penentu akses. Kaedah/kaedah akhir PHP juga seharusnya tidak mempunyai jenis/jenis pulangan khusus/ditentukan dan nama/nama kaedah.

Atas ialah kandungan terperinci Kelas Akhir 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
Artikel sebelumnya:Kelas Abstrak dalam PHPArtikel seterusnya:Kelas Abstrak dalam PHP