You are on page 1of 3

Izrada telefonskog imenika u C#

posebnu metodu koja se naziva konstruktor, a koja je posebna zbog toga što se poziva
prilikom instanciranja (kreiranja objekta prema klasi). Svrha konstruktora je omogućavanje
programeru da inicijalizira članove klase prilikom instanciranja, kako bi se pripremili za
korištenje. Konstruktor ne smije imati povratnu vrijednost, i ima ime jednako nazivu klase.

Klase se kreiraju prema sljedećem principu:

Class (Ime klase)


{
(Tijelo klase)
}

Na konkretnom primjeru možemo prikazati klasu koja sadrži konstruktor, par varijabli i jednu
metodu.

Class Zbrajanje
{
int PrviBroj;
int DrugiBroj;
int Rezultat;

public void Zbrajanje()


{
PrviBroj = 3;
DrugiBroj = 2;
}

public void Zbroji()


{
Rezultat = PrviBroj + DrugiBroj;
}

Ova klasa je jako jednostavna i funkcionalnost (iako besmislena:) ) je upravo očita.

Tijelo klase sadrži definiciji triju varijabli, PrviBroj, DrugiBroj i Rezultat, svi cjelobrojnog
tipa (int).

Konstruktor metoda (koja se poziva na samom početku) dodjeljuje vrijednost varijablama i


tako ih priprema za daljnje operacije koje će se izvršavati pozivom metode Zbroji(). Metoda
Zbroji() zbraja vrijednosti sadržane u ovim dvijema varijablama i rezultat sprema u varijablu
Rezultat.

Korištenje ove klase sastoji se od dva dijela: instanciranja i poziva funkcije:

Zbrajanje zbr = new Zbrajanje();

zbr.Zbroji();

Page 6
Izrada telefonskog imenika u C#

U prvoj naredbi kreiramo novi objekt naziva zbr, tipa Zbrajanje (jer ga kreiramo prema toj
klasi), i odmah mu dodjeljujemo vrijednost novostvorenog objekta. Objekt se kreira ključnom
riječi new koju slijedi ime klase sa ( ) na kraju. U ovom trenutku se poziva konstruktor klase.

Sljedeća naredba poziva metodu Zbroji koja se nalazi unutar objekta zbr (jer je tako
definirano u klasi prema kojoj je objekt zbr nastao).

3.3. Komentari

Komentar je tekst koji je namijenjen čovjeku i zato ga C# prevodilac ignoriše. Komentare


ostavlja programer ili zato da bi sebi objasnio šta je htio da postigne nekim dijelom programa,
ili da pomogne onom ko poslije njega bude čitao program u želji da shvati šta se tu dešava.
Prava uloga komentara se ne može dobro vidjeti na malim primjerima.

U jeziku C# postoje dvije vrste komentara


– komentari u jednom redu koji izgledaju ovako:
// ovo je komentar koji traje do kraja reda

i komentari u više redova koji izgledaju ovako:


/*
ovo je komentar koji je počeo u prethodnom redu
a završiti će se u narednom redu
*/

Page 7
Izrada telefonskog imenika u C#

4. Nizovi, matrica i rekurzija

4.1. Deklaracija niza


Nizovi u programskom jeziku C# predstavljaju nacin da se efektivno radi sa velikim brojem
podataka istog tipa. Na primjer, problemi koji zahtjevaju da se istovremeno obraduje
1.000.000 brojeva bi se veoma teško mogli realizovati tako što bi se deklarisalo 1.000.000
razlicitih promjenljivih i onda radilo sa njima.

U deklaraciji promenljive se navede njen tip, a program sam kreira kućicu u odgovarajućem
dijelu memorije kada se aktivira potprogram koji je deklarisao promenljivu, i sam oslobodi
prostor u tom dijelu memorije kada se potprogram koji je deklarisao promenljivu završi.
Takve promjenljive se zovu statičke promjenljive i prostor za njih se alocira u statičkoj
memoriji. Moderni programski jezici poznaju i drugu vrstu promjenljivih, dinamičke
promjenljive, kod kojih o rezervaciji prostora brine programer, dok o oslobađanju prostora
kada nam promjenljiva više ne treba brine poseban podsistem koji se zove garbage collector.

Nizovi u programskom jeziku C# se deklarišu ovako:

int[] a;

4.2. Deklaracija matrice


U programskom jeziku C# matrice se deklarišu kao nizovi sa dva indeksa. Kao i kod
nizova, odgovarajuća promjenljiva je referenca, odnosno, “strelica” koja pokazuje na neki dio
memorije.
Cjelobrojna matrica se deklariše na sljedeći način:
int[ , ] a;

4.3. Rekurzija

Za neki metod kažemo da je rekurzivan ako se u njegovom telu javlja poziv tog istog metoda
za neke druge, obično “manje” vrijednosti parametara. Uopšte, rekurzivni metodi se pišu kada
posao za n možemo nekako da odradimo preko analognih poslova za neke druge vrijednosti
strogo manje od n. Prilikom pisanja rekurzivnih metoda moramo imati precizno formulisane
odgovore na sljedeća pitanja:
• Kako se tačno posao za n može svesti na poslove istog tipa, ali za manje
vrijednosti?
• Kada se izlazi iz rekurzije, odnosno, kako izgleda rezultat rada metoda za
prvih nekoliko vrijednosti broja n koje se prirodno mogu pojaviti?

Rekurzivni metod izgleda ovako:


static ... M(int n)
{
if (n == neka od početnih vrijednosti za koje je sve trivijalno)

Page 8

You might also like