这个例子还是比较好理解的,所以只给出代码.
pola satuan;
antarmuka
menggunakanDialog;
jenis
TAudioPlayer=kelas;
TCommand=kelas
publik
prosedureksekusi;virtual;abstrak;
akhir;
TPlayCommand=kelas(TCommand)
pribadi
Pemutar Audio: Pemutar Audio;
publik
prosedureksekusi;timpa;
procedurePlaycommand(AP:TAudioPlayer);
akhir;
TStopCommand=kelas(TCommand)
pribadi
Pemutar Audio: Pemutar Audio;
publik
prosedureksekusi;timpa;
procedureStopComman(AP:TAudioPlayer);
akhir;
TRewindCommand=kelas(TCommand)
pribadi
Pemutar Audio: Pemutar Audio;
publik
prosedureksekusi;timpa;
procedureRewindCommand(AP:TAudioPlayer);
akhir;
TKeyPad=kelas
pribadi
Perintah Putar: Perintah T;
Perintah Hentikan: Perintah T;
Perintah Putar Ulang: Perintah T;
publik
konstruktorBuat(PlayC,StopC,RewindC:TCommand);virtual;
permainan prosedur();
procedurestop();
procedurerewind();
akhir;
TAudioPlayer=kelas
publik
permainan prosedur();
procedurestop();
procedurerewind();
akhir;
Klien T = kelas
pribadi
Papan Tombol: TKeyPad;
Pemutar Audio: Pemutar Audio;
publik
konstruktorBuat();
tes prosedur();
akhir;
pelaksanaan
{TKeyPad}
konstruktorTKeyPad.Buat(PlayC,StopC,RewindC:TCommand);
mulai
Perintah Putar:=PlayC;
Perintah Hentikan:=HentikanC;
Perintah Putar Ulang:=Putar UlangC;
akhir;
procedureTKeyPad.play;
mulai
PlayCommand.execute;
akhir;
procedureTKeyPad.rewind;
mulai
RewindCommand.execute;
akhir;
prosedurTKeyPad.stop;
mulai
StopCommand.eksekusi;
akhir;
{TAudioPlayer}
procedureTAudioPlayer.play;
mulai
Tampilkan Pesan(´bermain´);
akhir;
procedureTAudioPlayer.rewind;
mulai
ShowMessage(´mundur´);
akhir;
procedureTAudioPlayer.stop;
mulai
Tampilkan Pesan(´berhenti´);
akhir;
{Perintah TPlay}
procedureTPlayCommand.execute;
mulai
diwariskan;
AudioPlayer.play();
akhir;
procedureTPlayCommand.Playcommand(AP:TAudioPlayer);
mulai
mandiri.AudioPlayer:=AP;
akhir;
{TRewindCommand}
procedureTRewindCommand.execute;
mulai
diwariskan;
AudioPlayer.Putar balik;
akhir;
procedureTRewindCommand.RewindCommand(AP:TAudioPlayer);
mulai
Pemutar Audio:=ap;
akhir;
{TStopCommand}
procedureTStopCommand.execute;
mulai
diwariskan;
AudioPlayer.Berhenti;
akhir;
procedureTStopCommand.StopComman(AP:TAudioPlayer);
mulai
Pemutar Audio:=ap;
akhir;
{TClien}
konstruktorTClient.Buat;
mulai
AudioPlayer:=TAudioPlayer.Create();
akhir;
procedureTClient.test;
var
Perintah Putar: Perintah T;
Perintah Hentikan: Perintah T;
Perintah Putar Ulang: Perintah T;
mulai
PlayCommand:=TPlayCommand.Buat;
StopCommand:=TStopCommand.Buat;
RewindCommand:=TRewindCommand.Buat;
KeyPad:=TKeyPad.Create(PlayCommand,StopCommand,RewindCommand);
Papan Tombol.stop;
Papan Tombol.bermain;
KeyPad.rewind;
Papan Tombol.Berhenti;
akhir;
akhir.