40
Enumeracije

Enumeracije - bpa.edu.rs

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Enumeracije - bpa.edu.rs

Enumeracije

Page 2: Enumeracije - bpa.edu.rs

Enumeracije

• Enumeracioni tip specificira skup imenovanih konstanti

• Prednosti korišćenja enumeracija:• Lakše je održavanje koda jer se promenljivama dodeljuju samo očekivane

vrednosti

• Kod je lakše čitati jer se vrednostima dodeljuju imena koja je lako identifikovati

• Lakše je pisanje koda jer IntelliSense prikazuje listu mogućih vrednosti koju možemo koristiti

2

Page 3: Enumeracije - bpa.edu.rs

Enumercijski tipDefiniše se unutar klase ili unutar namespace-a.

Ne unutar metode.

3

Page 4: Enumeracije - bpa.edu.rs

Enumercijski tip

4

Page 5: Enumeracije - bpa.edu.rs

Pitanje 1Enumeracioni tip podataka se ne može definisati unutar:a. klaseb. namespacec. metode

Odgovor: c

5

Page 6: Enumeracije - bpa.edu.rs

Pitanje 2

Šta se ispisuje kao rezultat izvršavanja Main funkcije:

a. 0b. 1c. 2

Odgovor: b

6

Page 7: Enumeracije - bpa.edu.rs

Pitanje 3Šta se ispisuje kao rezultat izvršavanja Main funkcije:

a. 0b. Letoc. 1

Odgovor: b

7

Page 8: Enumeracije - bpa.edu.rs

Definisanje klase i kreiranje objekata

Page 9: Enumeracije - bpa.edu.rs

Osnovni koncepti OOP-a

• Apstraktni tipovi podataka

• Enkapsulacija

• Nasleđivanje

• Polimorfizam

9

Page 10: Enumeracije - bpa.edu.rs

Apstraktni tipovi podataka

• Objekti iz realnog sveta se modeluju njihovom ponašanjem sa stanovišta korisnika i ovaj koncept se naziva abstrakcija

• Pri abstrakciji sakrivaju se nepotrebni detalji objekata sa stanovišta korisnika

• Abstraktni tip podataka je tip podataka kojim se predstavljaju objekti

• Ugrađeni (osnovni, primitivni tipovi podataka) npr. float, int, double...

• Ravnopravno se definišu korisnički definisani tipovi – apstraktni tipovi podataka: TekuciRacun, Osoba, Student, …

• Proizvoljan broj primeraka nekog tipa i mogu se vršiti operacije nad njima

10

Page 11: Enumeracije - bpa.edu.rs

Enkapsulacija

• Enkapsulacija je sposobnost objekta da skriva svoje unutrašnje podatke i implementacione detalje

• Grupisanje podataka i koda koji manipuliše podacima

• Enkapsulacija se ostvaruje korišćenjem klase kao novog tipa podataka

• Realizija nekog tipa podataka može i treba da se sakrije od ostatka sistema tj. onih koji ga koriste

• Korisnicima se definiše šta se sa tipom može uraditi a način na koji se to radi se skriva

11

Page 12: Enumeracije - bpa.edu.rs

Odnos klase i objekata

• Klasa :• To je model koji opisuje kako kreirati objekat

• je kao "šematski plan(skica)"

• Sadrži podatke (polja) i metode

• Objekti:• Objekat je predstava nekog entiteta iz realnog sveta

• Instance klase

• Može biti više objekata (instanci) klase

12

Page 13: Enumeracije - bpa.edu.rs

Primer klase i objekata

13

Klasa

Objekat

Objekat

"skica"

"kuća"

Page 14: Enumeracije - bpa.edu.rs

Funkcionalnosti enkapsulirane unutar klase

14

Properties

Methods

Events

Delegates

Constructors

Constants

Destructors

Enumerations

Fields

Page 15: Enumeracije - bpa.edu.rs

Dodavanje klase u Visual Studio 2019 okruženju

15

Desni klik na naziv projekta

Page 16: Enumeracije - bpa.edu.rs

Dodavanje klase u Visual Studio 2019 okruženju

16

Page 17: Enumeracije - bpa.edu.rs

Definisanje klase

17

Page 18: Enumeracije - bpa.edu.rs

Kreiranje objekata

• Objekti su inicijalno neoznačeni

• Podrazumevana vrednost objekta je null

• Da bi se koristila promenljiva tipa klase, klasa se mora instancirati

• Nova instanca klase kreira se korišćenjem operatora new

18

Page 19: Enumeracije - bpa.edu.rs

Kreiranje objekata

• Operator new prouzrokuje da:

• CLR alocira memoriju za objekat

• poziva konstruktor da inicijalizuje objekat

• Da bi se pristupilo javnom članu klase koristi se ime instance iza koga sledi operator tačka

19

Page 20: Enumeracije - bpa.edu.rs

Instanciranje klase (kreiranje objekata)

20

Page 21: Enumeracije - bpa.edu.rs

Dodeljivanje null reference

21

Page 22: Enumeracije - bpa.edu.rs

Generisanje izuzetka od strane okruženja

22

Page 23: Enumeracije - bpa.edu.rs

Metode klase• Metode klase predstavljaju funkcije – članice klase.

• Svaka metoda sadrži :

• tip podataka koga metoda vraća (ili void ukoliko ne vraća podatke)

• naziv(ime metode)

• listu parametara

• telo metode

• Ukoliko metoda vraća neku vrednost, onda se unutar tela metode mora pozvati naredba return.

23

Page 24: Enumeracije - bpa.edu.rs

Primeri metoda

24

Page 25: Enumeracije - bpa.edu.rs

Klasa sa poljima i metodama

25

Page 26: Enumeracije - bpa.edu.rs

Pozivanje metoda klase

26

Page 27: Enumeracije - bpa.edu.rs

Klasa sa podrazumevanim konstruktorom

27

Page 28: Enumeracije - bpa.edu.rs

Definisanje parametarskog konstruktora

28

Page 29: Enumeracije - bpa.edu.rs

Klasa sa parametarskim konstruktorom

29

Page 30: Enumeracije - bpa.edu.rs

Poziv podrazumevanog konstruktora

30

Page 31: Enumeracije - bpa.edu.rs

Poziv parametarskog konstruktora

31

Page 32: Enumeracije - bpa.edu.rs

Definisanje konstruktora bez parametara

32

Page 33: Enumeracije - bpa.edu.rs

Poziv konstruktora

33

Page 34: Enumeracije - bpa.edu.rs

Poziv različitih konstruktora - rezultat

34

Page 35: Enumeracije - bpa.edu.rs

Pitanje 1Sposobnost objekta da skriva svoje podatke i implementacione detalje naziva se:a. abstrakcijab. enkapsulacijac. nasleđivanje

Odgovor: b

35

Page 36: Enumeracije - bpa.edu.rs

Pitanje 2

Klasa može sadržati:a. samo podatke ili polja klaseb. samo metode ili funkcije klasec. i polja i metode

Odgovor: c

36

Page 37: Enumeracije - bpa.edu.rs

Pitanje 3

Ako metoda klase ne vraća vrednost onda je njen povratni tip:a. objectb. voidc. int

Odgovor: b

37

Page 38: Enumeracije - bpa.edu.rs

Pitanje 4Neka je kreirana klasa Student i unutar nje konstruktor koji ima dva ulazna parametra. Povratna vrednost konstruktora je tipa ?a. intb. objekat klase Studentc. voidd. konstruktor klase Student ne vraća nikakvu vrednost

Odgovor: d

38

Page 39: Enumeracije - bpa.edu.rs

Pitanje 5Kada se unutar klase definiše konstruktor tada nastupa sledeća situacija:a. klasa pored definisanog konstruktora ima I podrazumevani konstruktorb. vrši se prebrisavanje podrazumevanog konstruktora definisanim

konstruktoromc. generiše se greška jer klasa već ima podrazumevani konstruktor

Odgovor: b

39

Page 40: Enumeracije - bpa.edu.rs

Pitanje 6

Unutar klase moguće je definisati:a. samo jedan konstruktorb. najviše dva konstruktorac. neograničeni broj konstruktora

Odgovor: c

40