40 likes | 192 Views
public int getX() //metody vracející hodnoty č.2 { return koruna.getX(); } public int getVýška() { return koruna.getVýška() + kmen.getVýška(); }. Metody. public void nakresli() //metody které nic nevrací č.1 { koruna.nakresli() ;
E N D
public int getX() //metody vracející hodnoty č.2 { return koruna.getX(); } public int getVýška() { return koruna.getVýška() + kmen.getVýška(); } Metody public void nakresli() //metody které nic nevrací č.1 { koruna.nakresli(); kmen. nakresli(); } public void smaž() { koruna.smaž(); kmen .smaž(); } public void posunVpravo(int n) { koruna.posunVpravo(n); kmen .posunVpravo(n); } public void posunVlevo(int n) { koruna.posunVlevo(n); kmen .posunVlevo(n); } • metoda definuje reakci instance či třídy na příslušnou zprávu • definice metody je tvořena hlavičkou a tělem • hlavička je tvořena modifikátory, typem návratové hodnoty, názvem metody a v kulatých závorkách seznamem parametrů • tělo metody je uzavřené mezi dvojici složených závorek • Metoda, která nic nevrací má jako typ uveden void • Metody vracejí hodnoty a odkazy tak, že jako poslední příkaz uvedou return //parametry a návratové hodnoty objektových typů č.3 publicBarva getBarvaKoruny() { return koruna.getBarva(); } public void setBarvaKoruny( Barva nová ) { koruna.setBarva( nová ); } }
Kvalifikace a klíčové slovo this public voidzarámuj() // metody vlastní instance jsou kvalifikovány this { Plátno.getPlátno().setRozměr(this.getŠířka(), this.getVýška() ); this.setPozice( 0, 0 ); } • použité metody a atributy musíme vždy kvalifikovat tzn. napsat před ně název odkazu na instanci o jejíž metodu nebo atribut se jedná, následovaný tečkou • chceme-li zdůraznit,že se obracíme na atribut či metodu té instance,jejíž metodu právě definujeme, kvalifikujem ji klíčovým slovem this • this zastupuje odkaz na instanci, v jejíž metodě se nacházíme public void zarámuj() // metody bez kvalifikace { Plátno.getPlátno().setRozměr( getŠířka(), getVýška() ); setPozice( 0, 0 ); }
public class Pozice // kvalifikace atributů { private int x; private int y; public Pozice(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public int getY() { return y; } public void setPozice( int x, int y ) { this.x = x; this.y = y; } public void setPozice( Pozice pozice ) { this.x = pozice.x; this.y = pozice.y; } } Kvalifikace atributů • kvalifikace klíčovým slovem this je nutná shoduje-li se název parametru metody s názvem atributu a potřebujeme-li v dané metodě pracovat s oběma