Izpitno vprašanje DIRI2005 1000

Iz MaFiRaWiki

Predmet Dopolnilno izobraževanje iz računalništva in informatike (DIRI)

Vprašanje

Metode in konstruktorji v javi

Odgovor

Metoda pri objektnem programiranju je ime za funkcijo (podprogram), oziroma operacijo nad podatkovno strukturo. Metoda je zaporedje ukazov, ki kaj izračunajo in vrnejo rezultat. Metode pišemo tako, da jih lahko kasneje znova uporabimo v kakem drugem programu. Poznamo objektne in statične metode. Metoda vrne rezultat z ukazom return, na primer:

public static double povprecje(double x, double y) {
  double z = (x + y) / 2.0;
  return z;
} 

Osnovni pojmi v zvezi z metodami so deklaracija, definicija in klic metode. Z deklaracijo določimo osnovne podatke o metodi:

  • ali je statična ali objektna, javna ali privatna metoda,
  • dogovorjeno je, da se imena metod začnejo z malo črko,
  • tip rezultata, ki ga metoda vrača (če metoda ne vrača rezultata, navedemo tip void),
  • imena in tipi argumentov, ki jih metoda sprejme.

Definicija metode je programska koda in se izvede vsakič, ko metodo pokličemo.

 public static int f(int k, double x) {
 // tukaj napisemo kodo metode, ki se izvede, ko metodo pokličemo
} 

Metodo uporabimo tako, da jo pokličemo ali izvedemo. Pri klicu metode moramo navesti njeno polno ime (Razred.imeMetode). Če metodo kličemo iz istega razreda, v katerem je definirana, lahko uporabimo skrajšano ime (imeMetode). Privatne metode lahko kličemo samo iz razreda, v katerem so definirane. Javne metode lahko kličemo iz vseh razredov.

  • Statično metodo kličemo takole:
ime_metode(arg1, arg2, .., argN) 

oziroma

ImeRazreda.ime_metode(arg1, arg2, .., argN)
  • Objektna metoda se vedno kliče na objektu:
obj.ime_metode(arg1, arg2, ..., argN) 

Konstruktor je posebna metoda, ki ima enako ime kot razred. Ločimo osnovni konstruktor (brez parametrov) in dodatne konstruktorje. Konstruktorjev je lahko poljubno mnogo, le razlikovati se morajo med seboj v parametrih, ki jih sprejemajo. S konstruktorji povemo, kaj naj se zgodi, ko z ukaz new ustvarjamo nove objekte. Java najprej naredi nov objekt, nato pokliče konstruktor. Znotraj konstruktorja se pravkar narejeni objekt imenuje this. Namen konstruktorja je predvsem ta, da nastavi vrednosti komponent objekta. Nima tipa in nima stavka return.


PRIMER KONSTRUKTORJEV VOZLA z različnimi parametri:

public Vozel();                      
public Vozel(int xx);               
public Vozel(Vozel nn);              
public Vozel(int xx, Vozel nn);
Osebna orodja