Академический Документы
Профессиональный Документы
Культура Документы
programiranje
OOP
• Struktura Java programa
OOP
• Java je objektno orijentisan jezik
• Pisanje programa bez korišćenja OO
mogućnosti nije svrsishodno
• Za proceduralno rešavanje problema su
lakši i pogodniji drugi jezici
• Pisanje Java programa zahteva
poznavanje osnovnih pojmova OOP:
– Objekti
– Klase
– Nasleđivanje
OOP
• Objektno orijentisan pristup se zasniva na
manipulisanju objektima
• Programska logika se postiže definisanjem
klasa različitih objekata i međusobnim
dejstvom tih objekata
OOP
• Metoda: programska jedinica koja sadrži
promenljive i naredbe za obavljanje
specifičnog zadatka
• Klasa: programska jedinica koja sadrži
promenljive i metode za predstavljanje
objekata
Objekat
• Šta je objekat?
– Sve što ima jedinstven identitet
• Primeri:
– Student
– Ispit
– Kredit
– Sto
– Stolica
– Automobil
Objekat
• Objekat ima jedinstven identitet
class Zgrada
{
int brojSpratova;
String boja;
String adresa;
class ČlanPorodice {
static String prezime;
String ime;
int uzrast;
void čestitajRođendan() {
uzrast = uzrast + 1;
System.out.println("Srećan "+uzrast+". rođendan!")
}
}
Klasa - metode
• Slična pravila važe i za metode definisane
u klasi
• Statičke metode pripadaju klasi i postoje
za sve vreme izvršavanja programa
• Zato se statičke metode mogu pozivati u
programu nezavisno od konstruisanih
objekata njihove klase
Klasa - metode
• Statičke metode mogu obavljati opšti
zadatak za sve objekte klase
• Statičke metode mogu direktno pristupati
samo statičkim poljima i drugim statičkim
metodama klase
• Ne postoji konkretan objekat nad kojim se
radi
Klasa - metode
• Nestatičke (objektne) metode logički
pripadaju konstruisanim objektima, a ne
klasi
• Objektni metodi se mogu primenjivati
samo za prethodno konstruisani objekat
Klasa – kontrola pristupa
• Članovi su pristupačni u celom kodu klase
u kojoj se nalaze
• Prava pristupa članu iz drugih klasa se
određuju modifikatorom
• Bez modifikatora (podrazumevano,
paketsko pravo), član je pristupačan samo
u kodu datog paketa
Klasa – kontrola pristupa
• Prava pristupa
• private
– Član je pristupačan samo u klasi gde je
definisan
• protected
– Član je pristupačan u izvedenim potklasama i
u kodu celog paketa
• public
– Član je pristupačan sa proizvoljnog mesta
odakle se može pristupiti
Klasa
• U objektno orijentisanom programiranju se
pišu definicije klasa
• Objekti se konstruišu na osnovu tih
definicija klasa
• Terminologija
– Instanca (primerak) klase = objekat klase
– Instanciranje klase = konstruisanje objekta
klase
Definicija klase
• Format
• Format:
new konstruktor(lista-argumenata)
Konstruisanje objekata
• Primer:
double x, y; // Koordinate.
public static final Tacka ORG = new Tacka (); // Koordinatni pocetak.
}
Primeri
Primeri
• U ovom primeru klase KockaZaIgru, konstruktor je:
• Ima isto ime kao klasa, nema tip rezultata i ima jedan
parametar
• Poziv konstruktora, sa odgovarajućim argumentima,
navodi se iza operatora new.
Primeri
Primeri
• Objekti ove klase KockaZaIgru se mogu
konstruisati na 2 načina
KockaZaIgru( )
KockaZaIgru( x )
x je izraz tipa int
Primeri
• Jedna od prednosti OOP je mogućnost višekratne
upotrebe programskog koda
• Jednom napisane klase mogu se iskoristiti u različitim
programima u kojima je potrebna njihova funkcionalnost
• Klasa KockaZaIgru predstavlja realne kocke za igranje i
obuhvata sve relevantne atribute i mogućnosti
• Ta klasa se može iskoristiti u svakom programu gde se
logika zasniva na kockama za igranje
• To je velika prednost, naročito u slučaju komplikovanih
klasa
• Nije potrebno gubiti vreme na ponovno pisanje i
testiranje novih klasa