Esai ini terutama memperkenalkan implementasi pola desain dekorator sederhana menggunakan java:
Mari pertama -tama lihat diagram kelas dari pola desain dekorator:
Seperti yang dapat dilihat dari gambar, kita dapat menghiasi kelas implementasi antarmuka komponen, dan kelas implementasi ini juga termasuk dekorator itu sendiri, yang juga dapat didekorasi lagi.
Di bawah ini adalah pola desain dekorator sederhana yang diimplementasikan di Java. Ini menyediakan sistem dekorator yang dimulai dengan penambahan dasar kopi dan dapat terus menambahkan susu, cokelat, dan gula.
komponen antarmuka {void method ();} class Compy mengimplementasikan komponen {@Override public void Method () {// TODO Metode Stub System.out.println ("tuangkan dalam kopi"); }} kelas dekorator mengimplementasikan komponen {komponen publik comp; dekorator publik (komponen comp) {this.comp = comp; } @Override public void Method () {// TODO Metode yang dihasilkan otomatis Stub comp.method (); }} class Concretedecoratea memperluas dekorator {public component comp; Public ConcretedecorateA (component comp) {super (comp); ini. Comp = comp; } public void method1 () {System.out.println ("tuangkan susu"); } public void method2 () {System.out.println ("Tambahkan gula"); } Metode public void () {super.method (); method1 (); method2 (); }} kelas ConcretedecorateB memperluas dekorator {public component comp; public concretedecorateB (component comp) {super (comp); ini. Comp = comp; } public void method1 () {System.out.println ("Tambahkan Cokelat"); } Metode public void () {super.method (); method1 (); }} kelas publik testDecoratePattern {public static void main (string [] args) {component comp = new coffee (); comp.method (); System.out.println ("--------------------------------------------------"); Komponen comp1 = concretedecoratea baru (comp); comp1.method (); System.out.println ("--------------------------------------------------"); Komponen comp2 = concretedecorateB baru (comp1); comp2.method (); System.out.println ("--------------------------------------------------"); Komponen comp3 = concretedecorateB baru (concretedecoratea baru (kopi baru ())); comp3.method (); System.out.println ("--------------------------------------------------"); Komponen comp4 = concretedecoratea baru (concretedecorate baru (kopi baru ())); comp4.method (); }} Hasil Menjalankan:
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.