Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport. Fakulteta za matematiko in fiziko http://up.fmf.uni- lj.si Objektno programiranje Tudi: objektno/predmetno usmerjeno programiranje Osnovni pojmi
Objektno programiranje. Tudi: objektno/predmetno usmerjeno programiranje Osnovni pojmi. Objekti. Objekt je skupek podatkov, s katerim želimo upravljati kot s celoto. Ima Podatke kaj o objektu vemo/hranimo Metode Kaj objekt zna Kakšne metode lahko izvajamo nad njim - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Objektno programiranje
Tudi: objektno/predmetno usmerjeno programiranje
Osnovni pojmi
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Objekti
• Objekt je skupek podatkov, s katerim želimo upravljati kot s celoto.
• Ima– Podatke
kaj o objektu vemo/hranimo
– Metode Kaj objekt zna Kakšne metode lahko izvajamo nad njim
• Vsak objekt pripada nekemu razredu. Če pripada objekt x razredu C, potem pravimo tudi, da je x objekt tipa C.
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Znani objekti
• Nekaj primerov objektov iz standardnega razvojnega okolja za javo: – Objekt tipa BufferedReader predstavlja vhodni kanal. Kadar želimo brati
s tipkovnice ali z datoteke, naredimo tak objekt in kličemo njegovo metodo readLine za branje ene vrstice.
– Objekt System.out predstavlja standardni izhod. Kadar želimo kaj izpisati na zaslon, pokličemo metodo println na objektu System.out.
– Objekt tipa Color predstavlja barvo na zaslonu.– Objekt tipa Applet je grafična aplikacija, ki jo lahko vstavimo v spletno stran
ali poženemo samostojno.
• Seveda pa so objekti uporabni predvsem zato, ker lahko programer definira nove razrede in objekte.
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Objekti• stanja:
– Lastnosti, podatki, komponente
• “znanje”– Odzivanje na dogodke
• Združeno v celoto– Podatki in metode, ki opisujejo neko stvar/objekt– Žoga:
Podatki: velikost, barva, položaj v prostoru, … Metode: sprememba velikosti, sprememba položaja, …
– Ulomek: Podatki: števec, imenovalec Metode: spremeni števec, spremeni imenovalec, prištej drug ulomek, obratna
vrednost, lepo izpiši, ...
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Programiranje v javi
• Sestavljanje razredov– Opis lastnosti objektov– Opis metod (“znanja” objektov)
Ustvarjanje objektov in njihova uporaba "Ukazovanje" objektom, kaj naj počnejo Objekt za izpolnitev določene naloge potrebuje druge objekte in njihove metode
• Začetek – Glavni razred (ki ima metodo main)– Izvajanje metode main – ustvarjanje objektov, ukazovanje objektom,
spremljanje reakcij objektov, …
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Objekti
• Objekt je kakršenkoli skupek podatkov, s katerimi želimo upravljati.
• Osnovni pristop objektnega programiranja– objekt = podatki + metode za delo s podatki.
• Ko želimo kak podatek (objekt) obdelati, objektu (podatku) signaliziramo, kaj naj se zgodi. – Pokličemo ustrezno metodo v objektu.
• Objekt je "črna škatla“, ki sprejema in pošilja sporočila. Jedro objekta sestavljajo njegove spremenljivke, okrog katerih se nahajajo njegove metode.
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Princip črne škatle• Imamo objekt obj, ki hrani podatke o neki osebi.• Zanima nas inteligenčni količnik te osebe.
– obj.kolikoJeIQ()
• Objekt se odzove z odgovorom• Uporabnika ne zanima, kako je objekt prišel do odgovora, le kaj ga lahko vpraša in
v kakšni obliki bo dobil odgovor!• Za uporabnika (tistega, ki objektu naroči izvajanje metode) ni važno, kako je objekt
odgovoril – kako je prišel do IQ (je to podatek, ki je zapisan nekje v objektu, je to rezultat nekega preračunavanja … )
Koliko je
tvoj IQ ?
92
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Prednosti "črne škatle"• Če kasneje spremenimo notranjost "črne škatle" (razreda)• Spremembe v programih, ki razred uporabljajo, niso potrebne
– Seveda, če je način spraševanja in odgovarjanja ostal nespremenjen– Če so metode ostale enake (imajo enaka imena, nabor parametrov in
tip rezultata)
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Klasično programiranje• Klasično programiranje:
program = metode
• Ko želimo kak podatek obdelati v klasičnem programiranju, – pokličemo ustrezno metodo z argumenti– argumenti: podatki, ki naj jih obdela.
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Klasično/objektno progr.• metoda f na podatku x: • Klasično:
– izvedi statično metodo f na podatku x – f(x);
• Objektno: – podatku/objektu x signaliziraj, da naj izvede metodo f – x.f();
Izvedbo projekta je omogočilo sofinanciranje Evropskega socialnega sklada Evropske unije in
Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko
http://up.fmf.uni-lj.si
Od kje razredi?• Veliko vgrajenih (oziroma v standardnih knjižnicah) v javo