Rumah > Java > javaTutorial > Ringkaskan dan susun corak penghias JAVA (contoh terperinci)

Ringkaskan dan susun corak penghias JAVA (contoh terperinci)

WBOY
Lepaskan: 2022-05-05 18:48:19
ke hadapan
2441 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang java Ia terutamanya memperkenalkan isu berkaitan tentang corak reka bentuk, terutamanya kandungan yang berkaitan dengan corak penghias tanpa mengubah objek sedia ada tambah secara dinamik beberapa corak tanggungjawab pada objek saya harap ia akan membantu semua orang.

Ringkaskan dan susun corak penghias JAVA (contoh terperinci)

Pembelajaran yang disyorkan: "tutorial video java"

Apakah corak penghias

Takrifan corak penghias: merujuk kepada corak yang menambahkan beberapa tanggungjawab secara dinamik pada objek (iaitu, menambah fungsi tambahannya) tanpa mengubah struktur objek sedia ada Ia tergolong dalam corak Struktur objek.

Kelebihan

1. Penghias ialah pelengkap yang berkuasa untuk warisan dan lebih fleksibel daripada pewarisan -dalam Sedia untuk digunakan
2. Kesan yang berbeza boleh dicapai dengan menggunakan kelas hiasan yang tidak digunakan dan susunan serta gabungan kelas hiasan ini
3. Mod penghias mematuhi sepenuhnya prinsip pembukaan dan penutup

Kelemahan

Corak penghias akan menambah banyak subkelas, dan penggunaan yang berlebihan akan meningkatkan kerumitan program.

Mata Pengetahuan

Biasanya, melanjutkan kefungsian kelas dicapai menggunakan warisan. Walau bagaimanapun, pewarisan mempunyai ciri statik dan tahap gandingan yang tinggi, dan apabila fungsi lanjutan meningkat, subkelas akan berkembang. Jika anda menggunakan perhubungan gubahan untuk mencipta objek pembalut (iaitu, objek hiasan) untuk membalut objek sebenar dan menyediakannya dengan fungsi tambahan sambil mengekalkan struktur kelas objek sebenar tidak berubah, ini ialah matlamat corak penghias. Mari analisa struktur asas dan kaedah pelaksanaannya.

Pelaksanaan corak penghias

Kes: Hei Xiaohu menangkap Tujuh Wira dan juga membakar Hongmao
Peranan Komponen Abstrak: Tujuh Wira
Komponen Konkrit peranan: Kucing Pelangi
Peranan Penghias Abstrak: Tambah bahan
Peranan Penghias Konkrit: Tambah garam dan jintan manis.

Qixia

Antara muka Qixia, mengisytiharkan kaedah abstrak barbeku

public interface Qi {
    void show();}
Salin selepas log masuk

Hongmao

Hong The cat class melaksanakan antara muka Qixia dan melaksanakan kaedah memanggang kucing pelangi

public class Hong implements Qi {

    @Override
    public void show() {
        System.out.println("烧烤一个虹猫");
    }}
Salin selepas log masuk

menambah bahan

Ini ialah penghias abstrak yang melaksanakan antara muka Qixia , isytiharkan atribut Qixia untuk memanggil kaedah barbeku Qixia

public class JiaLiao implements Qi {
    private Qi qi;

    JiaLiao() {
    }

    JiaLiao(Qi component) {
        this.qi = component;
    }

    @Override
    public void show() {
        qi.show();

    }}
Salin selepas log masuk

tambah garam

mewarisi kelas abstrak dan mengatasi kaedah barbeku, Menambah garam

public class Yan extends JiaLiao {
    private Qi qi;

    Yan() {
    }

    Yan(Qi qi) {
        super(qi);
    }

    @Override
    public void show() {
        super.show();
        add();
    }

    public void add() {
        System.out.println("加盐");
    }}
Salin selepas log masuk

Menambah jintan putih

Mewarisi kelas abstrak dan menulis semula kaedah barbeku, menambah jintan putih

public class ZiRan extends JiaLiao {
    private Qi qi;

    ZiRan() {
    }

    ZiRan(Qi qi) {
        super(qi);
    }

    @Override
    public void show() {
        super.show();
        add();
    }

    public void add() {
        System.out.println("加孜然");
    }}
Salin selepas log masuk

Ujian

baharu kucing pelangi dan bakar.
Tambah sedikit garam
Tambah sedikit garam dan jintan putih

public class Demo {
    public static void main(String[] args) {
        Qi qi = new Hong();
        qi.show();
        System.out.println();
        Qi qi1 = new Yan(qi);
        qi1.show();
        System.out.println();
        Qi qi2 = new ZiRan(qi1);
        qi2.show();
    }}
Salin selepas log masuk

Ringkaskan dan susun corak penghias JAVA (contoh terperinci)

Ringkasan

Bukan sahaja anda boleh memanggang kucing pelangi tetapi juga Anda boleh memanggang Tujuh Wira yang lain, cuma tambah kelas untuk melaksanakan antara muka Tujuh Wira.
Selain itu, menambah garam atau jintan manis tidak akan mengubah kualiti daging asal kucing pelangi.

Pembelajaran yang disyorkan: "tutorial video java"

Atas ialah kandungan terperinci Ringkaskan dan susun corak penghias JAVA (contoh terperinci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan