面向对象(接口 ,多态)
接口
(1)当抽象类中的方法都是抽象的时候,java就提供了一种新的表现形式:接口 ,接口是功能的集合 接口不能创建对象
(2)格式
父接口:public interface Tnter{
}
子类:public class interImp implements Itner{
}
接口的使用
1.接口不能创建对象
2.定义实现类来实现接口
实现的关键字 implements
3.重写抽象方法
4.创建实现类对象 调用方法
接口的特点
1.不需要被abstract 修饰
2.类实现接口,可以单实现 还可以多实现
3.接口可以继承接口,可以单继承也可以多继承
4.接口与父类的功能可以重复,均代表要具备某种功能
接口的成员特点
成员变量 静态常量
固定修饰符 public static final
无论写不写 挑着写 都是这个修饰符 不变
成员方法
固定修饰符 public abstract
无论写不写 挑着写 都是这个修饰符 不变
抽象类和接口的区别
1.成员的区别
抽象类:
成员变量: 可以是变量,也可以是常量
构造方法:有构造方法,用于子类实例化使用
成员方法:可以是抽象的,也可以是非抽象的
接口:
成员变量:只能是常量
默认修饰符:public static final
成员方法:只能是抽象的
默认修饰符:public abstract
推荐:默认修饰符请永远自己手动给出
2.类和接口的关系区别
类与类:
继承关系,只能单继承,可以多层继承
类与接口:
实现关系,可以单实现,也可以多实现
类还可以继承一个类的同时实现多个接口
接口与接口:
继承关系,可以单继承,也可以多继承
3.体现的理念不同
抽象类里面定义的都是一个继承体系中的共性内容
接口是功能的集合是一个体系额外的功能,是暴露出来的规则
一切使用父类/接口引用的地方 都可以传入其子类/实现类对象
多态
同一个对象,在不同时刻体现出来的不同的状态
举例:水(水,冰,水蒸气)
猫(猫,动物)
前提:
A: 有继承或者实现关系
B: 有方法的重写
C: 有父类的引用指向子类对象
多态中的成员使用特点
Fu fz=new Zi();
多态时 所有表现形式都是父类的表现形式
只有调用方法时,运行的是子类重写的方法
1.成员变量
编译看左边 运行看左边
2.成员方法
编译看左边 运行看右边
1 class Fu{ 2 int num=4; 3 void show(){ 4 system.out.println("showFu") 5 } 6 7 } 8 class Zi extends Fu{ 9 10 int num=5;11 void show(){12 system.out.println("showZi");13 }14 }15 class T{16 public static void main(String args[]){17 Fu f=new Zi();18 system.out.println(f.num);19 f.show();20 }21 }
多态中的转型
1.向上转型
把子类对象赋值给父类(接口)的引用 自动类型提升
int a=0; double b=a;
Fu fz=new Zi();
2.向下转型
把父类(接口)的引用强制转换成子类对象
double b=10.0;
int a=(int)b;
Fu fz=new Zi();
Zi zi=(Zi)fz;
注意:Fu fu=new Fu()不能向下转型 会报ClassCastException类型转换异常
多态的好处及弊端
1.好处
提高了程序可维护性和可扩展性
2.弊端
不能适用子类特用内容
要想使用,要么向下转型,要么重新创建子类对象
多态的三种形式
1.具体的类多态 父类 变量名 =new 子类()
2.抽象类多态 父抽象类 变量名=new 子类()
3.接口多态 接口 变量名 =new 实现类()
instanceof关键字
格式:对象名 instanceof类名
返回值:true false
作用:判断指定的对象 是否为给定类创建的对象
Animal a1=new Cat();
Animal a2=new Dog();
method(a1)
public static void method(Animal a){
if(a instanceof Cat){
向下转型
调用猫特有的方法
}
}
Atas ialah kandungan terperinci 面向对象(接口 ,多态). 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



Apabila kami memasang komputer, walaupun proses pemasangannya mudah, kami sering menghadapi masalah dalam pendawaian Selalunya, pengguna tersilap memasangkan talian bekalan kuasa radiator CPU ke SYS_FAN Walaupun kipas boleh berputar, ia mungkin tidak berfungsi apabila komputer dihidupkan. Akan terdapat ralat F1 "CPUFanError", yang juga menyebabkan penyejuk CPU tidak dapat melaraskan kelajuan secara bijak. Mari kita berkongsi pengetahuan bersama tentang antara muka CPU_FAN, SYS_FAN, CHA_FAN dan CPU_OPT pada papan induk komputer. Sains popular pada antara muka CPU_FAN, SYS_FAN, CHA_FAN dan CPU_OPT pada papan induk komputer 1. CPU_FANCPU_FAN ialah antara muka khusus untuk radiator CPU dan berfungsi pada 12V

Sebagai bahasa pengaturcaraan yang moden dan cekap, bahasa Go mempunyai paradigma pengaturcaraan yang kaya dan corak reka bentuk yang boleh membantu pembangun menulis kod yang berkualiti tinggi dan boleh diselenggara. Artikel ini akan memperkenalkan paradigma pengaturcaraan biasa dan corak reka bentuk dalam bahasa Go dan memberikan contoh kod khusus. 1. Pengaturcaraan berorientasikan objek Dalam bahasa Go, anda boleh menggunakan struktur dan kaedah untuk melaksanakan pengaturcaraan berorientasikan objek. Dengan mentakrifkan struktur dan kaedah mengikat kepada struktur, ciri berorientasikan objek bagi pengkapsulan data dan pengikatan tingkah laku boleh dicapai. packagemaini

Kelas asas maya mengoptimumkan overhed memori vtable dengan membenarkan warisan daripada berbilang kelas asas tanpa membuat vtable tambahan. Dalam kod yang dioptimumkan, kelas asas bentuk tidak lagi mempunyai jadual fungsi maya, dan kelas bulatan dan segi empat tepat berkongsi jadual fungsi maya yang sama, sekali gus mengurangkan penggunaan memori.

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.

Pengenalan kepada antara muka PHP dan bagaimana ia ditakrifkan PHP ialah bahasa skrip sumber terbuka yang digunakan secara meluas dalam pembangunan Web Ia fleksibel, mudah dan berkuasa. Dalam PHP, antara muka ialah alat yang mentakrifkan kaedah biasa antara pelbagai kelas, mencapai polimorfisme dan menjadikan kod lebih fleksibel dan boleh digunakan semula. Artikel ini akan memperkenalkan konsep antara muka PHP dan cara mentakrifkannya, dan menyediakan contoh kod khusus untuk menunjukkan penggunaannya. 1. Konsep antara muka PHP Antara muka memainkan peranan penting dalam pengaturcaraan berorientasikan objek, mentakrifkan aplikasi kelas

Sebab ralat adalah dalam python Sebab mengapa NotImplementedError() dilemparkan dalam Tornado mungkin kerana kaedah atau antara muka abstrak tidak dilaksanakan. Kaedah atau antara muka ini diisytiharkan dalam kelas induk tetapi tidak dilaksanakan dalam kelas anak. Subkelas perlu melaksanakan kaedah atau antara muka ini untuk berfungsi dengan baik. Cara menyelesaikan masalah ini adalah dengan melaksanakan kaedah abstrak atau antara muka yang diisytiharkan oleh kelas induk dalam kelas kanak-kanak. Jika anda menggunakan kelas untuk mewarisi daripada kelas lain dan anda melihat ralat ini, anda harus melaksanakan semua kaedah abstrak yang diisytiharkan dalam kelas induk dalam kelas anak. Jika anda menggunakan antara muka dan anda melihat ralat ini, anda harus melaksanakan semua kaedah yang diisytiharkan dalam antara muka dalam kelas yang melaksanakan antara muka. Jika anda tidak pasti yang mana

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.

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
