Upload
hoanglien
View
223
Download
2
Embed Size (px)
Citation preview
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Seminar 4Uvod u objektno orijentirano programiranje
Ivan Sakac
PMF-Matematicki odjelSveucilište u Zagrebu
Zagreb, svibanj 2008.
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
1 Uvod
2 Postoji li potreba za necim boljim od proceduralnog?
3 Objektna paradigma
4 Primjerak koda
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Evolucija programskih jezika
Prva generacija - strojni jezik
Druga generacija - assembler
Treca generacija - Pascal, C, Fortran, Lisp, Algol...
Cetvrta generacija - SQL, METAFONT, PostScript,Mathematica...
–> to su jezici specijalizirani za odredenu vrstuproblema
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Evolucija programskih jezika
Prva generacija - strojni jezik
Druga generacija - assembler
Treca generacija - Pascal, C, Fortran, Lisp, Algol...
Cetvrta generacija - SQL, METAFONT, PostScript,Mathematica...
–> to su jezici specijalizirani za odredenu vrstuproblema
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Evolucija programskih jezika
Prva generacija - strojni jezik
Druga generacija - assembler
Treca generacija - Pascal, C, Fortran, Lisp, Algol...
Cetvrta generacija - SQL, METAFONT, PostScript,Mathematica...
–> to su jezici specijalizirani za odredenu vrstuproblema
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Evolucija programskih jezika
Prva generacija - strojni jezik
Druga generacija - assembler
Treca generacija - Pascal, C, Fortran, Lisp, Algol...
Cetvrta generacija - SQL, METAFONT, PostScript,Mathematica...
–> to su jezici specijalizirani za odredenu vrstuproblema
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Evolucija programskih jezika
Prva generacija - strojni jezik
Druga generacija - assembler
Treca generacija - Pascal, C, Fortran, Lisp, Algol...
Cetvrta generacija - SQL, METAFONT, PostScript,Mathematica...
–> to su jezici specijalizirani za odredenu vrstuproblema
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Proceduralne paradigme
Proceduralno programiranje
želja za srukturiranijim programimaskrivanje implementacije od korisnika
Objektno orijentirano programiranje
Komponentno programiranje
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Proceduralne paradigme
Proceduralno programiranježelja za srukturiranijim programima
skrivanje implementacije od korisnika
Objektno orijentirano programiranje
Komponentno programiranje
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Proceduralne paradigme
Proceduralno programiranježelja za srukturiranijim programimaskrivanje implementacije od korisnika
Objektno orijentirano programiranje
Komponentno programiranje
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Proceduralne paradigme
Proceduralno programiranježelja za srukturiranijim programimaskrivanje implementacije od korisnika
Objektno orijentirano programiranje
Komponentno programiranje
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Proceduralne paradigme
Proceduralno programiranježelja za srukturiranijim programimaskrivanje implementacije od korisnika
Objektno orijentirano programiranje
Komponentno programiranje
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje I
Podjela koda u manje cjeline
Primjeri
write once, use everywhere
Problem imenskog prostora, organizacija velikog brojafunkcija u smislene cjeline
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje I
Podjela koda u manje cjeline
Primjeri
write once, use everywhere
Problem imenskog prostora, organizacija velikog brojafunkcija u smislene cjeline
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje I
Podjela koda u manje cjeline
Primjeri
write once, use everywhere
Problem imenskog prostora, organizacija velikog brojafunkcija u smislene cjeline
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje I
Podjela koda u manje cjeline
Primjeri
write once, use everywhere
Problem imenskog prostora, organizacija velikog brojafunkcija u smislene cjeline
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje I
Podjela koda u manje cjeline
Primjeri
write once, use everywhere
Problem imenskog prostora, organizacija velikog brojafunkcija u smislene cjeline
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje II
Podjela koda u module
Modul kao dobro definirana i zatvorena jednica?Programski jezici imaju vrlo nejasnu definiciju modula(cesto implementacijski detalj okruženja ne dio jezika)Osnovni problem?VS TextFile, BinaryFile
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje II
Podjela koda u module
Modul kao dobro definirana i zatvorena jednica?Programski jezici imaju vrlo nejasnu definiciju modula(cesto implementacijski detalj okruženja ne dio jezika)Osnovni problem?VS TextFile, BinaryFile
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje II
Podjela koda u module
Modul kao dobro definirana i zatvorena jednica?
Programski jezici imaju vrlo nejasnu definiciju modula(cesto implementacijski detalj okruženja ne dio jezika)Osnovni problem?VS TextFile, BinaryFile
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje II
Podjela koda u module
Modul kao dobro definirana i zatvorena jednica?Programski jezici imaju vrlo nejasnu definiciju modula(cesto implementacijski detalj okruženja ne dio jezika)
Osnovni problem?VS TextFile, BinaryFile
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje II
Podjela koda u module
Modul kao dobro definirana i zatvorena jednica?Programski jezici imaju vrlo nejasnu definiciju modula(cesto implementacijski detalj okruženja ne dio jezika)Osnovni problem?
VS TextFile, BinaryFile
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje III
nema logicke cjeline
sukob imena funkcija
programeri cesto moraju poznavati unutrašnju strukturuATP-a
slabo skrivanje imlementacije
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje III
nema logicke cjeline
sukob imena funkcija
programeri cesto moraju poznavati unutrašnju strukturuATP-a
slabo skrivanje imlementacije
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje III
nema logicke cjeline
sukob imena funkcija
programeri cesto moraju poznavati unutrašnju strukturuATP-a
slabo skrivanje imlementacije
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje III
nema logicke cjeline
sukob imena funkcija
programeri cesto moraju poznavati unutrašnju strukturuATP-a
slabo skrivanje imlementacije
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Strukturiranje III
nema logicke cjeline
sukob imena funkcija
programeri cesto moraju poznavati unutrašnju strukturuATP-a
slabo skrivanje imlementacije
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Rješenje problema
Podatkovni i funkcijski clanovi cine logicku cjelinu
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Rješenje problema
Podatkovni i funkcijski clanovi cine logicku cjelinu
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacija
podaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podataka
objekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanje
trokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinu
pr. Vektorski prostor kao uredena trojka
skrivanje podataka
objekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanje
trokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podataka
objekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanje
trokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podataka
objekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanje
trokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podatakaobjekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnost
pr. ...Mnogokut...
Nasljedivanje
trokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podatakaobjekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanje
trokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podatakaobjekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanje
trokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podatakaobjekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanjetrokut kao specijalizacija mnogokuta
ima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podatakaobjekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanjetrokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podatakaobjekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanjetrokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizam
pr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
Glavne karakteristike OO jezika
Enkapsulacijapodaci i funkcije cine jednu logicku cjelinupr. Vektorski prostor kao uredena trojka
skrivanje podatakaobjekt sa vanjskim svjetom komuninicira putem javnogsucelja, integritet objekta ne smije doci u opasnostpr. ...Mnogokut...
Nasljedivanjetrokut kao specijalizacija mnogokutaima sve što i mnogokut, ali i nešto više...
Polimorfizampr. niz mnogokuta, od kojih su neki trokuti,cetverokuti...svaki se crta na svoj nacin
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
klasa / objekt
klasa - nacrt
objekt - realizacija klase (instantacijom u memoriji)
ostali pojmovi...
Javina portabilnost koda, virtual machine...
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
klasa / objekt
klasa - nacrt
objekt - realizacija klase (instantacijom u memoriji)
ostali pojmovi...
Javina portabilnost koda, virtual machine...
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
klasa / objekt
klasa - nacrt
objekt - realizacija klase (instantacijom u memoriji)
ostali pojmovi...
Javina portabilnost koda, virtual machine...
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda
klasa / objekt
klasa - nacrt
objekt - realizacija klase (instantacijom u memoriji)
ostali pojmovi...
Javina portabilnost koda, virtual machine...
Seminar 4
Ivan Sakac
Uvod
Postoji li potreba zanecim boljim odproceduralnog?
Objektnaparadigma
Primjerak koda