深入分析PHP final关键字使用技巧
PHP程序员们在掌握了
在PHP中类的继承是使用最多的一个编程特性,我们可以创建一个基类(父类)然后在这其中定义一些基本的方法,在我们的子类我们可以扩展父类中的方法这就叫覆盖,但是如果说你在父类的某些很关键的方法你不能被子类继承,因为如果子类继承了这个方法可能给程序带来一定的麻烦,所以我们希望这个方法是“私有”的,是不能被扩展的,这在PHP使用了final关键字来修饰你要不被继承的方法。
PHP final关键字可以修饰类同样可以修改类中的方法,但它们的作用是差不多的,即如果你使用了final关键字来修饰了,那么这个被修饰的类或者方法将不能被扩展或者继承。你只能老老实实去引用它。如果你在类前面使用了final,这就是说明这个类不能使用继承;如果你在方法前使用了PHP final关键字,这就是说明这个方法不能被覆盖。道理就是这么简单,让我们也看个简单的示例吧。
<ol class="dp-xml"> <li class="alt"><span class="tag"> ?PHP </span></li> <li><span>final class BaseClass { </span></li> <li class="alt"><span>public function test() { </span></li> <li><span>echo "BaseClass::test() calledn"; </span></li> <li class="alt"><span>} </span></li> <li><span>final public function moreTesting() { </span></li> <li class="alt"><span>echo "BaseClass::moreTesting() calledn"; </span></li> <li><span>} </span></li> <li class="alt"><span>} </span></li> <li><span>class ChildClass extends BaseClass { </span></li> <li class="alt"><span>public function moreTesting() { </span></li> <li><span>echo "ChildClass::moreTesting() calledn"; </span></li> <li class="alt"><span>} </span></li> <li><span>} </span></li> <li class="alt"><span>// Results in Fatal error: Cannot override final method BaseClass::moreTesting() </span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
这个例子中,我们在类前和方法前都加了PHP final关键字来修饰我们具体的类,当然这个类是不能按要求来输出的,你可以自己动手调试下,基本的原理就这样了,我们只要记住如果类或者方法使用了final那么这就意味着类不能被继承或者子类不能覆盖父类的方法。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.
