public static interface GRobot.VlastnýTvar
GRobot.vlastnýTvar(VlastnýTvar)…
Príklad:
publicclassGKruhextendsGRobot{// Statická inštancia kreslenia vlastného tvaru – statickosť znamená, že// bude vytvorený jediný objekt pre všetky inštancie triedy GKruh (pozri// hlavnú metódu nižšie).publicstaticVlastnýTvar tvarKruhu =newVlastnýTvar() {publicvoidkresli(GRobotr) {// Vlastné kreslenie:r.kruh(); } };// KonštruktorprivateGKruh() {// Všetky objekty budú mať spoločné kreslenie vlastného tvaru, ktoré// však bude prispôsobované podľa individuálnych vlastností robotov:vlastnýTvar(tvarKruhu); }// Hlavná metódapublicstaticvoidmain(String[] args) {// Vytvoríme tri objekty typu GKruh:GKruh gKruh1 =newGKruh(); GKruh gKruh2 =newGKruh(); GKruh gKruh3 =newGKruh();// Každý umiestnime na náhodnú pozíciu:gKruh1.náhodnáPoloha(); gKruh2.náhodnáPoloha(); gKruh3.náhodnáPoloha();// Zmeníme mu náhodú farbu:gKruh1.náhodnáFarba(); gKruh2.náhodnáFarba(); gKruh3.náhodnáFarba();// A určíme mu náhodnú veľkosť v rozmedzí 10 – 30:gKruh1.veľkosť(Svet.náhodnéReálneČíslo(10,30)); gKruh2.veľkosť(Svet.náhodnéReálneČíslo(10,30)); gKruh3.veľkosť(Svet.náhodnéReálneČíslo(10,30)); } }
Použitie rozhrania môže vyzerať komplikovane, preto bolo
robotovi umožnené zmeniť tvar aj (z hľadiska začínajúceho
programátora) jednoduchším spôsobom. Metódou GRobot.kresliTvar()
(myslíme tým jej prekrytím). Z vnútorného (technického)
hľadiska je však činnosť spomínanej metódy zabezpečovaná
komplikovanejším mechanizmom s mierne vyššími režijnými
nákladmi na vykonávanie, preto skúsenejším programátorom
odporúčame využitie tohto rozhrania.
GRobot.vlastnýTvar(VlastnýTvar)| Modifikátor a typ | Metóda a opis | 
|---|---|
| void | kresli(GRobot r)Jediná metóda rozhrania určená na kreslenie vlastných
tvarov robota. | 
void kresli(GRobot r)
GRobot, teda objekt (inštanciu) robota, ktorý má slúžiť
na kreslenie vlastného tvaru. Kreslenie má byť čo
najjednoduchšie a malo by využívať len metódy kreslenia
objektu „r“ prijatého v argumente tejto metódy.
Príklad:
vlastnýTvar(newVlastnýTvar() {publicvoidkresli(GRobotr) {// Kružnica s „nosom“r.farba(r.modrá); r.kružnica(10); r.dopredu(20); } });
Poznámka: Niektoré metódy upravujú v rámci
vlastného kreslenia svoje správanie, napríklad skupina
metód domov vráti a otočí robota do
aktuálnej pozície a smeru (polohy a smeru v čase začatia
vlastného kreslenia) bez ohľadu na to, kde je v skutočnosti
definovaný domov robota. Metódy uhol,
smer, uholDoma a smerDoma vracajú
hodnotu upravenú o aktuálne pootočenie tvaru (pozri metódu
pootočenieTvaru).
r – objekt robota použitý na nakreslenie vlastného
	tvaru; je to ten objekt, ktorý požaduje vlastné
	kreslenie tvaru (hodnoty kľúčových vlastností ako
	poloha, smer, stav pera,a pod., sú pred začatím
	kreslenia vlastného tvaru zálohované a po skončení
	kreslenia sú vrátené do pôvodného stavu; pero robota
	je pri začatí vlastného kreslenia vždy položené bez
	ohľadu na skutočný stav)