Rumah > Java > javaTutorial > teks badan

negeri

Mary-Kate Olsen
Lepaskan: 2024-09-22 22:15:32
asal
657 orang telah melayarinya

negeri

Negeri ialah salah satu daripada corak reka bentuk Tingkah laku, Dalam hal ini tingkah laku kelas berubah berdasarkan keadaannya.

Konsep utama:
Konteks: Kelas/objek yang tingkah lakunya berubah berdasarkan keadaan
Nyatakan: keadaan abstrak
Keadaan Konkrit: mewakili pelbagai keadaan, yang mengubah tingkah laku kelas Konteks.

Mari kita fahami ini dengan contoh:

negeri.java

public interface negeri {
    public void doAction(Context context);
}
Salin selepas log masuk

Pelaksanaan Konkrit Negara

public class Startnegeri implements negeri {
    private Context context;
    public Startnegeri(){}
    @Override
    public void doAction(Context context){
        this.context = context;
        this.context.setnegeri(this);
        System.out.println("Player is in Startnegeri");
    }

    public String toString(){
        return "Start negeri";
    }
}

public class Endnegeri implements negeri {
    private Context context;
    public Endnegeri(){}
    @Override
    public void doAction(Context context){
        this.context = context;
        this.context.setnegeri(this);
        System.out.println("Player is in Endnegeri");
    }

    public String toString(){
        return "End negeri";
    } 
}

Salin selepas log masuk

Utama

public class Main {
    public static void main(String args[]){
        Context context = new Context();
        negeri state = new Startnegeri();
        state.doAction(context);
        //current state
        System.out.println(context.getnegeri().toString());

        negeri state2 = new Endnegeri();
        state2.doAction(context);
        //new negeri
        System.out.println(context.getnegeri().toString());
    }
}
Salin selepas log masuk

output:

Player is in Startnegeri
Start negeri
Player is in Endnegeri
End negeri
Salin selepas log masuk

nota: Kod di atas mengikut prinsip pepejal ISP, LSP, SRP, OCP

Atas ialah kandungan terperinci negeri. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!