Click here to load reader

Objektno programiranje

  • View
    64

  • Download
    0

Embed Size (px)

DESCRIPTION

Objektno programiranje. Objektno programiranje. 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 njem - PowerPoint PPT Presentation

Text of Objektno programiranje

ObjektiFakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Objektno programiranje
Objektno programiranje
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
Kakšne metode lahko izvajamo nad njem
Vsak objekt pripada nekemu razredu. e pripada objekt x razredu R, potem pravimo tudi da je x objekt tipa R.
Izvedbo projekta je omogoilo 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 standardnih knjinic jezika C# :
Objekt tipa StreamReader predstavlja vhodni kanal. Kadar elimo brati s tipkovnice ali z datoteke, naredimo tak objekt in kliemo njegovo metodo ReadLine za branje ene vrstice.
Objekt System.Console predstavlja standardni izhod. Kadar elimo kaj izpisati na zaslon, pokliemo metodo WriteLine na objektu System.Console.
Objekt tipa Random predstavlja generator nakljunih števil.
Seveda pa so objekti uporabni predvsem zato, ker lahko programer definira nove razrede in objekte.
Izvedbo projekta je omogoilo 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:
oga:
Metode: sprememba velikosti, sprememba poloaja, …
Ulomek:
Izvedbo projekta je omogoilo 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 C#
Ustvarjanje objektov in njihova uporaba
"Ukazovanje" objektom, kaj naj ponejo
Objekt za izpolnitev doloene naloge potrebuje druge objekte in njihove metode
Zaetek
Izvajanje metode Main – ustvarjanje objektov, proenje dogodkov, odzivanje na dogodke, …
Izvedbo projekta je omogoilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Objekti
Osnovni pristop objektnega programiranja
Ko elimo kak podatek (objekt) obdelati, objektu (podatku) signaliziramo, kaj naj se zgodi.
Pokliemo ustrezno metodo v objektu.
Objekt je "rna škatla“, ki sprejema in pošilja sporoila. Jedro objekta sestavljajo njegove spremenljivke, okrog katerih se nahajajo njegove metode.
Izvedbo projekta je omogoilo 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
Zanima nas inteligenni kolinik 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!
Ni vano, kako je objekt odgovoril – kako je prišel do IQ (je to podatek, ki je zapisan nekje v objektu, je to rezultat nekega preraunavanja …
Koliko je tvoj IQ ?
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Prednosti "rne škatle"
Spremembe v programih, ki razred uporabljajo, niso potrebne
Seveda, e je nain spraševanja in odgovarjanja ostal nespremenjen
e so metode ostale enake (imajo enaka imena, nabor parametrov in tip rezultata)
Izvedbo projekta je omogoilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Klasino/objektno progr.
Klasino:
f(x);
Objektno:
x.f();
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Od kje razredi?
.NET Framework
C# je .NET jezik – ima dostop do vseh razredov, definiranih v knjinicah (zbirkah razredov) okolja .NET
Izvedbo projekta je omogoilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Moj prvi razred
MojR prvi;
prvi.Izpisi();
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Objekt in ime spremenljivke
new NekiObjekt();
V pomnilniku se je naredil objekt tipa NekiObjekt() / po pravilih, ki so doloena z opisom razreda NekiObjekt
a = new NekiObjekt();
V pomnilniku se je naredil objekt tipa NekiObjekt() in a kae na ta novo ustvarjeni objekt
Izvedbo projekta je omogoilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Ustvarjanje objektov
Razred je šablona, ki definira spremenljivke in metode skupne vsem objektom iste vrste.
class
Ustvarimo ga z new
NekiObjekt a;
a je ime spremenljivke, kjer hranimo NASLOV objekta vrste NekiObjekt
Izvedbo projekta je omogoilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
C#in objekti
Razred (class) je opis vrste objekta (nart, kako naj bo objekt videti) – opis ideje objekta
Primerek razreda (instanca) – konkretni objekt
class Neki {…
Izvedbo projekta je omogoilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Ustvarjanje objektov
Reemo:
Toneje
V spremenljivki ime je naslov nekega objekta tipa Ulomek, ki predstavlja ulomek ¾.
Spremenljivka ime kae na objekt tipa Ulomek, ki …
Prvi ukaz je dejansko spoj dveh stavkov:
deklaracija
prireditev
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Ustvarjanje objektov
Ulomek ime;
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Še en zgled
Poglejmo si še en zgled. Denimo, da bi radi napisali program, ki bo prebral nek ulomek in mu prištel 1/2.
"klasino" se bomo tega lotili takole
Izvedbo projekta je omogoilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Poveaj ulomek "klasino"
{
Console.ReadKey(true);
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Poveaj ulomek - objektno
"se zna" poveati za drug ulomek
Vsebuje metodo, ki ta ulomek povea za drug ulomek
Izvedbo projekta je omogoilo sofinanciranje Evropskega socialnega sklada Evropske unije in Ministrstva za šolstvo in šport.
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
"Objektni" program
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Ulomki - objektno
using System;
namespace UlomkiObjektno
this.stevec = st;
this.imenovalec = im;
{
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Ulomki - objektno
Console.Write("Števec ulomka: ");
// "delo"
moj.pristej(polovica);
// izpis
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Primerjava
"klasino"
// "delo"
moj.pristej(polovica);
Fakulteta za matematiko in fiziko http://up.fmf.uni-lj.si
Objektno programiranje
Standardna knjinica
Druge knjinice

Search related