You are on page 1of 16

Programiranje u .

NET okolini

Klase i Objekti
Klase
• Temelj u OOP
• Omogućavaju nam da modeliramo svijet unutar software-a (apstrakcije imenica u
pravom svijetu)
• Korištenjem klasa možemo modelirati:
– Zaposlenike
– Narudžbe
– Automobile...
• Služe nam da bismo lakše izrađivali software
• Sastoje se od:
1. Imenski prostor (namespace)
2. Stanja (properties / imenice)
3. Metoda (behaviours / glagoli)
Klase Visual Studio
• Primjer:

– Program za izradu ocjenjivanja studenata, prikaz njihove statistike i vođenje


ispitnih bodova

• Svaka klasa ide u vlastitu datoteku

– Npr:
• Klasa Ocjena -> Ocjena.cs

• DEMO (projekt Programiranje_net_1)


Klase Visual Studio
Konstruktor (constructor)
• Specijalizirana metoda za inicijaliziranje objekta
• Svaka klasa ju implicitno posjeduje jer služi prilikom kreiranja (inicijalizacije)
objekta
Konstruktor
• Dakle kao i svaka metoda, završava sa () a
tijelo metode započinje i završava sa {}
• Izuzetno bitan dio klase jer služi za inicijalno
podešavanje vrijednosti objekta
• Možemo inicijlaizirati
– Polja i podatke
– Druge objekte
– Moguće je imati više konstruktora
Konstruktor
• Implicitan
– Nismo ga sami definirali već se podrazumijeva
• Eksplicitan
– Kada ga sami definiramo, kao npr:
Klasa vs Varijabla
• Klasa predstavlja shemu (kalup)
• Klasa može sadržavati varijablu
– Varijabla se može odnositi na bilo kakav objekt ili primitivni tip
(int,float,double..)
Klasa vs Varijabla
• Varijabla
– Mjesto pohrane lokacije koja vodi na određeni objekt
Klasa vs Varijabla
• Na prijašnjoj slici varijabla „knjigaOcjena” će sadržavati samo jednu ocjenu.
• Zašto?
– Jer imamo jednu varijablu koja upućuje na istu lokaciju, te zadnja deklarirana
varijabla poništava prijašnju
Ref tipovi
• Klase su referentni tipovi (pokazuju referencu na isti objekt u memoriji)
• Varijable sadrže pointer(putanju) na vrijednost
Ref tipovi
Modifikatori pristupa
• Public
– Bez restrikcija
• Private
– Unutar iste klase
• Internal
– Samo unutar istog assembly-a
• Protected
– Samo unutar klase ili njenih izvedenica
• Private protected (od C# 7.2)
– Unutar klase ili izvedene klase unutar istog assemblya
• Protected internal
– Unutar assembly-a ili izvedenih klasa unutar drugog assemblya
• Static
– Klasa nemože biti instancirana da bi se pristupilo članu klase ili njenoj metodi

Na ovaj način radimo enkapsulaciju klase odnosno njenih objekata


Enkapsulacija
• Sakrivena implementacija
• Ocjene dostupne samo unutar memorije
• Moguće napraviti različite implementacije
pohrane ocjena
(cloud, diskovni sistem, baza podataka)
• PUBLIC,PRIVATE u primjeru desno
(napraviti primjer u VS gdje se za metodu
DodajOcjenu promijeni modifikator u
private)
MODIFIKATOR - STATIC
• Korištenje člana klase bez potrebe za instanciranjem
Primjer
• Napravi program koji dodaje ocjene u listu te izračunava najveću ocjenu, najmanju
ocjenu te srednju ocjenu

You might also like