Uvod:
-def.metode
-zakaj jih uporabljamo
-kako jih deklariramo
Primeri:
-preprosta metoda brez parametrov
-metoda z parametri
-metoda, ki vrača vrednost
Def: Metoda je zaporedje stavkov, ki ima svoje ime. Ime omogoča da to zaporedje stavkov pokličemo z različnih mest v programu.
Uporaba metod: -Če se isto zaporedje stavkov pojavi na različnim mestih v programu potem zadostuje , da ga napišemo zgolj enkrat in kličemo z negovim imenom.
-Da izboljšamo strukturo programa. Program razdelimo na metode tako da vsaka metoda rešuje nek zaokrožen podproblem.
-Pri objektno usmerjenem programiranju (OOP) z metodami opišemo operacije, ki jih izvajajajo posamezni objekti.
Deklaracije metod:
Metoda ima glavo in telo. Telo je zaporedje stavkov, ki se izvedejo (,ko metodo pokličemo). Glava pa je sestavljena iz več delov. -> ogled na primeru metode main.
public static void main (String[] args)
Glavo sestavljajo različna določila. V našem primeru public in static.
public: metoda je javna, dostopna tudi iz drugih razredov
static: metoda obstaja samostojno, brez povezave z objekti.
Sledi tip rezultata:
void: metoda ne vrača vrednosti. Če metoda vrača vrednost, moramo napisati kakšnega tipa je ta vrednost.
Sledi ime metode:
ime določi programer, začne se z malo črko.
Sledi seznam parametrov ( v oklepaju)
Seznam parametrov je lahko prazen.
Primer 1: Preprosta metoda brez parametrov
Predpopstavka: Pišemo nek program v katerem se na več različnih mestih pojavlja zahteva za izpis naslova fakultete.
public class Primer1 {
public static void main (String[] args) {
// razlicni staviki
// prvo mesto, kjer potrebujemo izpis naslova
naslov (); // klic metode, z imenom naslov
// razlicni stavki
// drugo mesto, kjer potrebujemo izpis naslova
naslov ();
// tretje mesto, kjer potrebujemo izpis naslova
naslov ();
}
public static void naslov () {
System.out.println("Fakulteta za racunalnistvo");
System.out.println ( " in informatiko") ;
System.out.println(" Trzaska 25");
System.out.println("1000 Ljubljana") ;
}
}
}
Primer 2 :Metoda s parametri
Predpostavka: Želimo napisatinaslov poljubne fakultete
Rešitev je upeljava parametrov. Preko parametrov posredujemo metodi podatke, ki jih potrebuje za svoje delo.
Podatki: - prvi del imena fakultete
- drugi del imena fakultete
- ulica in hišna številka
- poštna številka in pošta
public class Primer2 {
public static void main (String [] args) {
naslov ("Fakulteta za racunalnistvo", "in informatiko", "Trzaska 25", "1000 Ljubljana") ;
naslov ("Fakulteta za upravo", " ", "Gosarjeva 5", "1000 Ljubljana") ;
naslov ("Fakulteta za matematiko", "in fiziko", "Jadranska 15", "1000 Ljubljana") ;
}
public static void naslov (String ime1, String ime2, String ulica, String posta) {
System.out.println ( ime1);
System.out.println ( ime2);
System.out.println ( ulica);
System.out.println ( posta);
}
}
Formalni parametri so tisti, ki jih navedemo v glavi metode. Služijo zgolj za opis postopka, ki ga metoda izvaja.
Dejanski parametri so tisti, ki jih navedemo ob klicu metode. Predtavljajo tiste vrednosti nad katerimi se postopek v resnici izvede.
Ob klicu metode pride do zamenjave formalnih parametrov z dejanskimi. Formalni se morajo ujemati v številu, vrstnem redu in tipu.
Ujemanje v tipu: Tip dejanskega parametra mora biti skladen s tipom formalnega parametra. Skladnost je dosežena: - če sta tipa enaka, - če je tip dejanskega parametra vsebovan v tipu formalnega (pride v poštev pri numeričnih tipih)
Primer3: Metoda s parametri
Želimo računatai obresti pri vezavi na eno leto. Metoda, ki izračuna vrenost depozita po enoletni vezavi.
Kaj so primerni parametri? -glavnica, -obrestna mera
public class Primer3{
public static void main (String [] args) {
poEnemLetu (1000, 3.5) ;
poEnemLetu (100 000, 3.9);
double gl = BranjePodatkov.preberiDouble();
double obr = BranjePodatkov.preberiDouble();
poEnemLetu(gl, obr);
}
public static void poEnemLetu (double glavnica, double obrMera) {
double novoStanje = glavnica + glavnica * obrMera / 100;
System.out.println(novoStanje);
}
}
Dejanski parameter je lahko naveden kot: konstanta, spremenljivka ali izraz.
Primer 4: Metoda, ki vrača vrednost
Potrebni sta dve spremenljivki
Naloga: Predelamo metodo iz primera 3 v tako obliko, da bo vračala vrednost
1. spremenljivka: v glavi metode
Napisati moramo ime tipa, ki ga metoda vrne. S tem povemo, kakšnega tipa je vrednost, ki ga metoda vrača.
2. spremeljivka:
Stavek return
Služi za to, da povemo, kaj metoda vrne.
Splošna oblika stavka return:
return [izraz]; // izraz določa vrednost, ki jo metoda vrne.
V Javi vrstni red metod ni pomemben. Metode, ki vračajo vrednost ne kičemo kot samostojni satvek, ampak kot sestavni del izraza.
Program:
public class Primer4 {
public static double poEnemLetu (double glavnica, double obrMera) {
double novoStanje = glavnica + glavnica * obrMera/100;
return novoStanje;
}
//namesto gornjih dveh stavkov imamo lahko zgolj enega : return glavnica + glavnica * obrMera/100;
public static void main (String [] args) {
//metodo, ki vrača vrednost, kličemo znotraj izraza
// klic metode, ki vrača vrednost, ni samostojen stavek, ampak je del izraza
double novoStanje = poEnemLetu(1000, 3.5);
System.out.println(novoStanje);
System.out.println(poEnemLetu(100 000, 3.9));
System.out.println("Po enem letu varcevalec dobi" + poEnemLetu (1000, 3.9) + "EUR ." ) ;
}
}