nedelja, 7. november 2010

Metode

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 ." ) ;
        }
 }




Ni komentarjev:

Objavite komentar

Tu lahko podate svoje mnenje.
Če ste zapis označili kot pomanjkljiv, povejte kaj bi dodali.