Artikel ini menjelaskan fungsi adaptor daya dalam aplikasi mode adaptor java. Bagikan untuk referensi Anda, sebagai berikut:
1. Definisi Pola
Ada dua mode adaptor
1 Mode Adaptor Objek Dalam mode adaptor ini, adaptor memegang entitas fisik objek kelas yang dibungkus.
Mode Adaptor Kelas 2 Dalam mode adaptor ini, adaptor mewarisi dari kelas yang diimplementasikan.
2. Contoh model
1 analisis pola
Kami meminjam adaptor daya pensil untuk menggambarkan mode ini.
Adapter Daya Laptop Daya AC yang sudah ada
2 pemodelan statis mode adaptor
3 contoh kode
3.1 Pembentukan Catu Daya Abstrak
Paket com.demo.power;/** * Power Base Class * * @Author * */Public Abstrak kelas absbasepower {// nilai tegangan power float pribadi; // unit unit string pribadi = "v"; // Metode Konstruksi Public AbsbasePower (float power) {this.power = power; } public float getPower () {return power; } public void setPower (float power) {this.power = power; } public string getUnit () {return unit; } public void setUnit (unit string) {this.unit = unit; }}3.2 Antarmuka Daya 220V
Paket com.demo.power.v220;/** * 220V Power Interface * * @Author * */Antarmuka publik IPower220 {// 220V AC Power Supply Printing Public Void Output220v ();}3.3 Kelas Implementasi Catu Daya 220V
Paket com.demo.power.v220; import com.demo.power.absbasepower;/** * catu daya 220V * * @author * */Public Class Power220 memperluas absbasepower mengimplementasikan iPower220 {// Metode Public Power220 () {Super (220); } // output daya 220V public void output220v () {System.out.println ("---- ini [" + this.getPower () + this.getunit () + "] power! ..."); }}3.4 antarmuka daya 12V
Paket com.demo.power.v12;/** * interface daya 12V * * @author * */antarmuka publik Ipower12 {// 12V Power Supply Printing Public Void Output12V ();}3.5 12V Kelas Implementasi Catu Daya
Paket com.demo.power.v12; import com.demo.power.absbasepower;/** * Normal 12V Power Supply * * @Author * */Public Class Power12 memperluas absbasepower implement ipower12 {// 12V Metode Konstruksi Power Power Power12 () {Super (12); } // 12V daya output public void output12v () {System.out.println ("--- ini [" + this.getPower () + this.getunit () + "] power! ..."); }}3.6 adaptor objek daya 12V
Paket com.demo.adapter; import com.demo.power.absbasepower; import com.demo.power.v12.ipower12;/** * adaptor daya (mengimplementasikan antarmuka objek target, yaitu: IPOWER PENGETAHURAN12 TOBLED/@Author */Public Class Adapterpower Adapterpower12 menginsplementasikan IPOWER IPOWER ip. Absbasepower; // Metode Konstruksi Adapter meneruskan objek yang akan dikonversi menjadi adapterpower publik12 (Absbasepower Absbasepower) {this.absbasepower = absbasepower; } // terapkan metode objek target void output12v () {// dapatkan nilai daya eksternal float powerfloat = this.absbasepower.getPower (); // Lakukan konversi daya if (powerfloat == 380) {// 380V Power Conversion powerFloat = powerFloat / 31.67f; } else if (powerfloat == 220) {// 220V Power Conversion PowerFloat = PowerFloat / 18.33f; } else if (powerfloat == 110) {// 110V Power Conversion PowerFloat = powerfloat / 9.17f; } else {System.out.println ("---- tidak dapat beradaptasi dengan kekuatan! ..."); kembali; } // Proses hasil konversi powerfloat = (int) (powerfloat * 10) / 10.0f; System.out.println ("---- ini [" + powerfloat + this.absbasepower.getunit () + "] power! ..."); }}3.7 adaptor daya 12V
Paket com.demo.adapter; impor com.demo.power.absbasepower; import com.demo.power.v12.ipower12;/** * adaptor daya (mengimplementasikan antarmuka objek target, yaitu, NAMBUT/MODE ABSEPTER KONSIREMER POWERBOWERSID. Metode meneruskan objek yang akan dikonversi menjadi adapterpower publik12ext (absbasepower absbasepower) {super (absbasepower.getPower ()); } // terapkan metode objek target @Override public void output12v () {// Dapatkan nilai daya eksternal float powerfloat = this.getPower (); // Lakukan konversi daya if (powerfloat == 380) {// 380V Power Conversion powerFloat = powerFloat / 31.67f; } else if (powerfloat == 220) {// 220V Power Conversion PowerFloat = PowerFloat / 18.33f; } else if (powerfloat == 110) {// 110V Power Conversion PowerFloat = powerfloat / 9.17f; } else {System.out.println ("---- tidak dapat beradaptasi dengan kekuatan! ..."); kembali; } // Proses hasil konversi powerfloat = (int) (powerfloat * 10) / 10.0f; System.out.println ("---- ini [" + powerfloat + this.getunit () + "] power! ..."); }}3.8 Adaptor Tes
Paket com.demo; import com.demo.adapter.adapterpower12; import com.demo.adapter.adapterpower12ext; import com.demo.power.v12.ipower12; import com.demo.power.v12.power12; impor com.demo.power.power. Class Client { / ** * @param args * / public static void main (string [] args) {// pertama -tama kami menghasilkan objek catu daya 220V! Power220 power220 = new power220 (); power220.output220v (); // Selanjutnya, kami menghasilkan objek catu daya 12V! Ipower12 power12 = new power12 (); power12.output12v (); // Akhirnya, kami menggunakan adaptor daya untuk mengonversi catu daya 220V menjadi catu daya 12V! System.out.println ("/N ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- System.out.println ("----- Kelas Konversi Adaptor Adaptor Adaptor Berakhir!");3.9 Hasil Operasi
---- Ini adalah catu daya [220.0V]! ...
---- Ini adalah catu daya [12.0V]! ...
---- Adaptor daya sedang dikonversi ...
---- Ini adalah catu daya [12.0V]! ...
--- Konversi adaptor daya sudah berakhir!
---- Adapter Power Adapter sedang dikonversi ...
---- Ini adalah catu daya [12.0V]! ...
---- Konversi adaptor adaptor kelas berakhir!
3. Prinsip Desain
Kombinasi objek 1 Gunakan, pemrograman yang berorientasi antarmuka dan abstrak
2 Prinsip "Buka dan Tutup"
4. Gunakan kesempatan
1 Ketika struktur sistem perangkat lunak perlu ditingkatkan atau diperluas, dan tidak ingin mempengaruhi operasi stabil dari sistem asli
2 Ketika perbedaan antara kelas konversi tidak terlalu besar
3 Saat Anda ingin membuat kelas yang dapat digunakan kembali yang dapat bekerja bersama dengan kelas lain yang tidak terkait atau tidak terduga
5. Diagram kelas statis mode adaptor kelas dan mode adaptor objek
Untuk informasi lebih lanjut tentang algoritma java, pembaca yang tertarik dengan situs ini dapat melihat topik: "struktur data java dan tutorial algoritma", "ringkasan tips node dom java", "ringkasan file operasi java dan direktori" dan "ringkasan tip operasi java cache" tips java "tips java" Tips "Java Cache Tips"
Saya harap artikel ini akan membantu pemrograman Java semua orang.