面向对象(继承,重写,this,super,抽象类)
继承
定义一个类B时,发现已有类A与要定义的类B相似,并且类B属于类A的一种时,可以将类B定义为类A的子类。
当多个类有着共性内容,可以将共性内容向上抽取,抽取到一个新的类中,这个新类和多个类形成一个关系叫做继承。
子类继承父类后,自动拥有父类所有可继承的属性和功能。
注意事项
java只支持单继承,不支持多继承,支持多层继承。
所有的类都直接或者间接继承了Object类,Object类没有父类
构造方法不能被继承
方法重写
当子类继承父类后,自动拥有父类所有可继承的属性和功能。但是子类觉得父类方法不够强大时,可以对父类方法按照自身逻辑
进行重写。 也叫方法复写,方法覆盖。
注意事项
1.可以使用 @Override检验是否为方法重写
2.子类方法权限必须大于等于父类方法权限
3.推荐和父类方法一样
父类对象与子类对象的创建过程
父类对象优先于子类对象产生
当每次创建子类对象时,都会默认调用父类的空参构造,创建父类对象(不是new出来的对象)
实际上是在子类对象中 创建了一个父类对象 因为子类要想父类的内容
需要有这样一个父类的空间支持
在子类的每一个构造方法的第一行都有一个默认的super()调用父类的空参构造
super(参数) 调用父类的构造方法
this和super
this:本类对象的引用
super:本类对象中父类的引用
this和super
this.属性名 访问本类成员变量
this.方法名(参数) 访问本类其他方法
this(参数) 访问本类其他构造方法(注意必须在构造方法的第一行使用)(了解即可)
super.属性名 访问父类成员变量(非私有)
super.方法名(参数) 访问父类成员方法(非私有)
super(参数) 访问父类构造方法(非私有)(注意必须在构造方法的第一行使用)
注意:
this和super调用构造方法时不可以在同一个构造方法中同时使用,因为都需要定义在第一行。
调用构造方法时,必须要保证有这个构造方法才能够调用,如果没有这个构造方法则不能调用。
抽象类
抽象方法:没有方法体的方法叫做抽象方法
抽象类:有抽象方法的类必须是抽象类
抽象类的使用
1.抽象类不能创建对象
2.定义子类继承抽象类
3.子类重写父类方法
4.创建子类对象 调用方法
抽象类细节:
1.抽象类可以没有抽象方法
2.抽象类可以有具体的方法
3.抽象类必须是一个父类
4.子类必须重写所有抽象方法,否则子类也是一个抽象类
5.抽象类有构造方法,子类需要使用构造方法为成员变量赋值
抽象类出现的意义
抽象类定义了一类事物最基本的属性和行为。强制子类必须实现其功能。子类必须重写其抽象方法
抽象类的定义
* 抽象类的定义
* public abstract class 类名{
*
*
* }
Atas ialah kandungan terperinci 面向对象(继承,重写,this,super,抽象类). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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 pewarisan fungsi, gunakan "penunjuk kelas asas" dan "penunjuk kelas terbitan" untuk memahami mekanisme pewarisan: apabila penuding kelas asas menghala ke objek kelas terbitan, transformasi ke atas dilakukan dan hanya ahli kelas asas diakses. Apabila penuding kelas terbitan menghala ke objek kelas asas, hantaran ke bawah dilakukan (tidak selamat) dan mesti digunakan dengan berhati-hati.

Objek Permintaan dalam PHP ialah objek yang digunakan untuk mengendalikan permintaan HTTP yang dihantar oleh klien ke pelayan. Melalui objek Permintaan, kami boleh mendapatkan maklumat permintaan pelanggan, seperti kaedah permintaan, maklumat pengepala permintaan, parameter permintaan, dsb., untuk memproses dan membalas permintaan tersebut. Dalam PHP, anda boleh menggunakan pembolehubah global seperti $_REQUEST, $_GET, $_POST, dll. untuk mendapatkan maklumat yang diminta, tetapi pembolehubah ini bukan objek, tetapi tatasusunan. Untuk memproses maklumat permintaan dengan lebih fleksibel dan mudah, anda boleh

Pewarisan dan polimorfisme mempengaruhi gandingan kelas: Pewarisan meningkatkan gandingan kerana kelas terbitan bergantung pada kelas asas. Polimorfisme mengurangkan gandingan kerana objek boleh bertindak balas kepada mesej secara konsisten melalui fungsi maya dan penunjuk kelas asas. Amalan terbaik termasuk menggunakan warisan dengan berhati-hati, menentukan antara muka awam, mengelakkan penambahan ahli data pada kelas asas dan menyahgandingkan kelas melalui suntikan kebergantungan. Contoh praktikal yang menunjukkan cara menggunakan polimorfisme dan suntikan pergantungan untuk mengurangkan gandingan dalam aplikasi akaun bank.

Begini cara untuk menukar tatasusunan hasil pertanyaan MySQL kepada objek: Cipta tatasusunan objek kosong. Gelung melalui tatasusunan yang terhasil dan buat objek baharu untuk setiap baris. Gunakan gelung foreach untuk menetapkan pasangan nilai kunci setiap baris kepada sifat yang sepadan bagi objek baharu. Menambah objek baharu pada tatasusunan objek. Tutup sambungan pangkalan data.

Dalam Go, kaedah mengatasi membenarkan kaedah dalam kelas asas ditakrifkan semula dalam kelas terbitan sambil mengekalkan tandatangan kaedah yang sama: gunakan kata kunci ganti. Kaedah ganti mesti mempunyai tandatangan yang sama dengan kaedah asas. Jenis penerima kaedah yang diganti mestilah subjenis daripada jenis asas.

Petua penyahpepijatan ralat warisan: Pastikan perhubungan warisan yang betul. Gunakan penyahpepijat untuk melangkah melalui kod dan memeriksa nilai pembolehubah. Pastikan anda menggunakan pengubah suai maya dengan betul. Periksa masalah berlian warisan yang disebabkan oleh warisan tersembunyi. Semak fungsi maya tulen yang tidak dilaksanakan dalam kelas abstrak.

Dalam PHP, tatasusunan ialah urutan tersusun, dan elemen diakses mengikut indeks; Akses tatasusunan adalah melalui indeks, akses objek adalah melalui sifat/kaedah. Nilai tatasusunan diluluskan dan rujukan objek diluluskan.

Dalam C++, terdapat tiga perkara yang perlu diperhatikan apabila fungsi mengembalikan objek: Kitaran hayat objek diuruskan oleh pemanggil untuk mengelakkan kebocoran memori. Elakkan penunjuk berjuntai dan pastikan objek kekal sah selepas fungsi kembali dengan memperuntukkan memori secara dinamik atau mengembalikan objek itu sendiri. Pengkompil boleh mengoptimumkan pembuatan salinan objek yang dikembalikan untuk meningkatkan prestasi, tetapi jika objek itu diluluskan oleh semantik nilai, tiada pembuatan salinan diperlukan.
