看表格看不懂的,请回顾一下前三篇文章,这是一份总结表。通过对比更直观。 - Class Interface Trait 目的 封装一类对象的属性和行为。 抽象一类对象的行为准则,而不关注其具体实现。 解决单继承的限制。(历史解决方法是使用混入类(Mixin)) Class class Cla
看表格看不懂的,请回顾一下前三篇文章,这是一份总结表。通过对比更直观。
- | Class | Interface | Trait |
---|---|---|---|
目的 | 封装一类对象的属性和行为。 | 抽象一类对象的行为准则,而不关注其具体实现。 | 解决单继承的限制。(历史解决方法是使用混入类(Mixin)) |
Class | class ClassA extends ClassB | class Class implements Interface |
class Class { use Trait; } |
Interface | - | Interface1 extends Interface2 | - |
Trait | - | - |
trait Trait1 { use Trait2; } |
*注:以上是三者可使用的关系,以下是其具体区别! | |||
abstract | 类前(抽象类),方法前(抽象方法) | - | 方法前(抽象方法) |
final | 类前(不可继承),方法前(不可重写) | - | 方法前(不可重写) |
const | 有类常量 | 有接口常量 | - |
static | 静态变量,静态方法 | 静态方法 | 静态变量,静态方法 |
访问控制 public protected private |
继承可改变访问控制 实现接口只能用public use Trait可以用as改变访问控制。 |
- | use Trait可以用as改变访问控制 |
同名变量 |
覆盖(extends Class) 报错(use Trait) |
- | 报错(use Trait) |
同名方法 |
覆盖(extends) 报错(use Trait) 可用insteadof或as解决 |
报redeclare错(extends Interface) | 报错(use Trait) 可用insteadof或as解决 |
*注:静态成员变量/函数与普通成员变量/函数的命名不可一样,不然会报错。 |
( 完 )
版权所有:老白经 转载请保留来源信息。 >

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

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)