Rumah > Java > javaTutorial > templat

templat

Linda Hamilton
Lepaskan: 2024-09-22 22:16:02
asal
643 orang telah melayarinya

templat

Templat ialah salah satu corak reka bentuk tingkah laku, kelas abstrak mentakrifkan satu set cara/templat untuk melaksanakan kaedahnya.

Subkelasnya boleh mengatasi/melaksanakan kaedah ini tetapi seruannya hendaklah dengan cara yang sama seperti yang ditakrifkan oleh kelas abstrak

Mari kita fahami ini dengan contoh:

Konsep utama
Templat: Kelas abstrak yang mentakrifkan struktur/cara/templat algoritma
Pelaksanaan Konkrit: Pelaksanaan Konkrit Templat
Pelanggan: Pelanggan yang akan menggunakan Templat ini

public abstract class Gametemplat{
    //these below methods can be overridden based on the type of game
    public abstract void initialize();
    public abstract void startPlay();
    public abstract void  endPlay();

    //All the subclasses must use this same method to play the game i.e. following the same template present in this method,
    //Hence it is declared as final.
    public final void play(){
        initialize();
        startPlay();
        endPlay();
    }
}

public class Cricket extends Gametemplat{


    @Override
    public void initialize(){
        System.out.println("Cricket has been initialized");
    }
    @Override
    public void startPlay(){
        System.out.println("Cricket game has been started");
    }
    @Override
    public void endPlay(){
        System.out.println("Cricket game has ended");
    }

}

public class Football extends Gametemplat{

    @Override
    public void initialize(){
        System.out.println("Football has been initialized");
    }
    @Override
    public void startPlay(){
        System.out.println("Football game has been started");
    }
    @Override
    public void endPlay(){
        System.out.println("Football game has ended");
    }

}

public class Main{
    public static void main(String args[]){

        //Create a football game object 
        Gametemplat football = new Football();
        football.play();// play() will strictly follow the sequence of method execution defined in the final play() method

        Gametemplat cricket = new Cricket();
        cricket.play();
    }
}

Salin selepas log masuk

Output:

Football has been initialized
Football game has been started
Football game has ended
Cricket has been initialized
Cricket game has been started
Cricket game has ended
Salin selepas log masuk

nota: Kod mengikut semua prinsip reka bentuk seperti LSP, ISP, SRP, OCP

Atas ialah kandungan terperinci templat. 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