Professional Documents
Culture Documents
P9 Klase Objekti1
P9 Klase Objekti1
P9 Klase Objekti1
M. Zeki-Suac 1
1
31.10.2012.
M. Zeki-Suac 4
2
31.10.2012.
to je tip u objektnom
programiranju?
Bit objektnog programiranja je kreiranje novih
tipova.
Tip predstavlja neku stvar (eng. thing).
Ponekad je stvar abstraktna (npr. tablica), a ponekad je
vrlo konkretna (npr. dugme u nekom prozoru).
Tip definira opa svojstva i ponaanje neke stvari.
Npr. dugme (kontrola button) je jedan tip objekta.
M. Zeki-Suac 6
3
31.10.2012.
Vrste tipova
4
31.10.2012.
Kreiranje klase
Kada kreiramo neku vlastitu klasu, potrebno je definirati:
njezina svojstva (properties) ili varijable kojima e
dodjeljivati vrijednosti (ako se radi o javnim
svojstvima, tada se koristi izraz svojstvo (eng.
property), a ako se radi o privatnim varijablama koje
e se koristiti samo u toj klasi, tada govorimo koristimo
izraz varijabla
metode koje odreuju njezino ponaanje.
5
31.10.2012.
Konstruktor
Naredba kojom se definira instanca neke klase izgleda ovako: (npr. za
kreiranje instance Pero klase Student)
Student Pero = new Student();
Naredba sadri na kraju zagrade (), pa izgled kao da poziva metodu.
Zapravo, pri kreiranju nove instance poziva se jedna metoda koja
se zove konstruktor (eng. constructor).
Zadatak konstruktora je kreirati instancu (objekt) neke klase i
omoguiti da se toj instanci dodijeli vrijednost kasnije u programu.
Nakon to se konstruktorom kreira nova instanca, u memoriji se
ostavlja prostor za vrijednosnu instancu. Ako ne specificiramo koji
konstruktor pozivamo, CLR poziva standardni (default) konstruktor
kojim se definira nova instanca klase i ne prosljeuju mu se
nikakve vrijednosti. Zato u zagradama kod ovog standardnog
konstruktora ne piemo nita.
M. Zeki-Suac 12
6
31.10.2012.
Metode
Metoda je neka funkcija koja se nalazi unutar klase. Ona je lan
(eng. member) klase.
Metode definiraju to klase rade i kako se klase ponaaju.
Metodama koje sami kreiramo moemo dati proizvoljne naziv,
npr. Ispis(), Racunanje(), itd.
Ako elimo napisati odgovor na dogaaj klik mia na neku
kontrolu (button ili dr.), dvostrukim klikom mia program e
kreirati metodu i dati joj standardni naziv, npr. button1_Click()
M. Zeki-Suac 13
Metoda Main()
Otvorite u C#
Express-u novi
projekt (Windows
aplikaciju) pod
nazivom Vjezba8.
U Solution Explorer
prozoru kliknite na
Program.cs
Pojavit e se
programski kod za
glavni program
aplikacije koji
poziva sve metode
te aplikacije
Glavni program aplikacije moe se vidjeti
kada kliknemo dvaput na Progam.cs u
prozoru Solution Explorer-a
M. Zeki-Suac 14
7
31.10.2012.
8
31.10.2012.
9
31.10.2012.
10
31.10.2012.
M. Zeki-Suac 22
11
31.10.2012.
Komentari u programskom
kodu
Komentari se u programski kod umeu zbog vie razloga:
Kako bi olakali programeru snalaenje u kodu (zbog moguih
kasnijih ispravki)
Kako bi omoguili izradu adekvatne programske dokumentacije
M. Zeki-Suac 24
12
31.10.2012.
Pitanja za ponavljanje
1. to je tip u objektnom programiranju?
2. to definira tip nekog objekta?
3. Ako koristimo izraze: button, OK, Cancel, Help, to je od
toga tip, a to su instance objekta?
4. Ako koristimo izraze: student, Ivo Ivi, to je od toga tip, a to
su instance objekta?
5. to je nasljeivanje u objektnom programiranju?
6. Objasnite pojam nasljeivanja na primjeru tipa student i neke
njegove instance kojoj dajte proizvoljno ime.
7. to se nasljeuje u objektnom programiranju (metode ili
svojstva ili objekti ili dr.?)
8. Navedite 4 glavna tipa koja se koriste kod objektnog
programiranja.
9. to je klasa u objektnom programiranju?
M. Zeki-Suac 25
Pitanja za ponavljanje
10. to je instanca u objektnom programiranju?
11. to moemo definirati za neku klasu?
12. Za to se koriste metode, tj. to se pomou njih odreuje ili
opisuje?
13. Koji je opi oblik naredbe za kreiranje neke nove klase?
14. Definirajte novu klasu pod nazivom Student koja e imati
jednu cjelobrojnu varijablu OcjenaStudenta i jednu
tekstualnu varijablu ImePrezimeStudenta.
15. Kako se zove naredba kojom se kreira nova instanca neke
klase?
16. to je zadatak konstruktora?
17. Napiite konstruktor naredbu kojom se kreira instanca Rex
koja pripada klasi Pas.
18. to se kreira naredbom: Student Student1 = new Student;
M. Zeki-Suac 26
13
31.10.2012.
Pitanja za ponavljanje
19. to je tip u objektnom programiranju?
20. Kakva je to metoda Main() i u kojoj datoteci aplikacije se
nalazi?
21. to je metoda u objektnom programiranju?
22. Koji je glavni program iz kojeg se pokree aplikacija i poziva
prva forma aplikacije: Program.cs, Form1.cs, ili References?
23. Kada se pokree metoda Main()?
24. Koja je naredba metode Main() koja pokree aplikaciju i
poziva prvu formu?
25. to se definira u deklaraciji neke metode?
26. to znai kljuna rije void u deklaraciji metode?
27. Napiite deklaraciju metode koja se zove Izracunaj(), koja je
privatna za klasu u kojoj se nalazi, koja ne vraa nikakvu
vrijednost i ne prosljeuju joj se parametri.
28. Koja su tri naina pisanja komentara u C# jeziku?
M. Zeki-Suac 27
Pitanja za ponavljanje
29. Da li je ispravno napisan komentar:
// Ovdje poinje deklaracija
novog svojstva za artikl1 //
30. Napiite ispravno komentar Ovdje poinje deklaracija svojstva za
artikl1 kroz dvije linije koda u C++ stilu.
31. Napiite ispravno komentar Ovdje poinje deklaracija svojstva za
artikl1 kroz dvije linije koda u C stilu.
32. Za to se koristi operator .?
33. Koristei operator . dodijelite svojstvu Ime instance Student1 klase
Student vrijednost Ivo.
34. Koristei operator . dodijelite svojstvu Placa instance Djelatnik1
klase Djelatnik vrijednost 2500.20.
35. to znai kljuna rije static za neku metodu?
36. Ako u naredbi napiemo kljunu rije this, na to se ona odnosi?
37. to e napraviti naredba: label4.Text = this.ImePrezimeStudenta;
38. Napiite naredbu kojom ete u okviru za tekst textBox1 ispisati
vrijednost svojstva Placa koje pripada instanci klase u kojoj se
nalazite (koristite this).
M. Zeki-Suac 28
14
31.10.2012.
Literatura
J. Liberty, Programming C#, Fourth edition,
OReilly and Associates, 2005.
Prijevod: C# programiranje, A. Dragosavljevi
(ur.), Dobar plan, 2005.
Predavanja i zadaci na web stranici kolegija
Web izvori
M. Zeki-Suac 29
15