Treca generacija - Pascal, C, Fortran, Lisp, Algol... ˇCetvrta generacija - SQL,
METAFONT, PostScript,. Mathematica... –> to su jezici specijalizirani za odre ...
Seminar 4 Ivan Sakaˇc Uvod
Seminar 4 Uvod u objektno orijentirano programiranje
Ivan Sakaˇc PMF-Matematiˇcki odjel Sveuˇcilište u Zagrebu
Zagreb, svibanj 2008.
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Seminar 4 Ivan Sakaˇc Uvod
1
Uvod
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma
2
Postoji li potreba za neˇcim boljim od proceduralnog?
3
Objektna paradigma
4
Primjerak koda
Primjerak koda
Evolucija programskih jezika
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog?
Prva generacija - strojni jezik
Objektna paradigma Primjerak koda
Evolucija programskih jezika
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog?
Prva generacija - strojni jezik Druga generacija - assembler
Objektna paradigma Primjerak koda
Evolucija programskih jezika
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog?
Prva generacija - strojni jezik Druga generacija - assembler Tre´ca generacija - Pascal, C, Fortran, Lisp, Algol...
Objektna paradigma Primjerak koda
Evolucija programskih jezika
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog?
Prva generacija - strojni jezik Druga generacija - assembler Tre´ca generacija - Pascal, C, Fortran, Lisp, Algol... ˇ Cetvrta generacija - SQL, METAFONT, PostScript, Mathematica...
Objektna paradigma Primjerak koda
Evolucija programskih jezika
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog?
Prva generacija - strojni jezik Druga generacija - assembler Tre´ca generacija - Pascal, C, Fortran, Lisp, Algol... ˇ Cetvrta generacija - SQL, METAFONT, PostScript, Mathematica... –> to su jezici specijalizirani za odredenu vrstu ¯ problema
Objektna paradigma Primjerak koda
Proceduralne paradigme
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma
Proceduralno programiranje
Primjerak koda
Proceduralne paradigme
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma
Proceduralno programiranje želja za srukturiranijim programima
Primjerak koda
Proceduralne paradigme
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma
Proceduralno programiranje želja za srukturiranijim programima skrivanje implementacije od korisnika
Primjerak koda
Proceduralne paradigme
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma
Proceduralno programiranje želja za srukturiranijim programima skrivanje implementacije od korisnika
Objektno orijentirano programiranje
Primjerak koda
Proceduralne paradigme
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma
Proceduralno programiranje želja za srukturiranijim programima skrivanje implementacije od korisnika
Objektno orijentirano programiranje Komponentno programiranje
Primjerak koda
Strukturiranje I
Seminar 4 Ivan Sakaˇc
Podjela koda u manje cjeline
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Strukturiranje I
Seminar 4 Ivan Sakaˇc
Podjela koda u manje cjeline
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Strukturiranje I
Seminar 4 Ivan Sakaˇc
Podjela koda u manje cjeline
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Primjeri
Strukturiranje I
Seminar 4 Ivan Sakaˇc
Podjela koda u manje cjeline
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Primjeri write once, use everywhere
Strukturiranje I
Seminar 4 Ivan Sakaˇc
Podjela koda u manje cjeline
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Primjeri write once, use everywhere Problem imenskog prostora, organizacija velikog broja funkcija u smislene cjeline
Strukturiranje II
Seminar 4 Ivan Sakaˇc
Podjela koda u module
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Strukturiranje II
Seminar 4 Ivan Sakaˇc
Podjela koda u module
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Strukturiranje II
Seminar 4 Ivan Sakaˇc
Podjela koda u module
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Modul kao dobro definirana i zatvorena jednica?
Strukturiranje II
Seminar 4 Ivan Sakaˇc
Podjela koda u module
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Modul kao dobro definirana i zatvorena jednica? Programski jezici imaju vrlo nejasnu definiciju modula (ˇcesto implementacijski detalj okruženja ne dio jezika)
Strukturiranje II
Seminar 4 Ivan Sakaˇc
Podjela koda u module
Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Modul kao dobro definirana i zatvorena jednica? Programski jezici imaju vrlo nejasnu definiciju modula (ˇcesto implementacijski detalj okruženja ne dio jezika) Osnovni problem?
Strukturiranje III
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Strukturiranje III
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
nema logiˇcke cjeline
Strukturiranje III
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
nema logiˇcke cjeline sukob imena funkcija
Strukturiranje III
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
nema logiˇcke cjeline sukob imena funkcija programeri cˇ esto moraju poznavati unutrašnju strukturu ATP-a
Strukturiranje III
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
nema logiˇcke cjeline sukob imena funkcija programeri cˇ esto moraju poznavati unutrašnju strukturu ATP-a slabo skrivanje imlementacije
Rješenje problema
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Rješenje problema
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Podatkovni i funkcijski cˇ lanovi cˇ ine logiˇcku cjelinu
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
skrivanje podataka
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
skrivanje podataka objekt sa vanjskim svjetom komuninicira putem javnog suˇcelja, integritet objekta ne smije do´ci u opasnost
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
skrivanje podataka objekt sa vanjskim svjetom komuninicira putem javnog suˇcelja, integritet objekta ne smije do´ci u opasnost pr. ...Mnogokut...
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
skrivanje podataka objekt sa vanjskim svjetom komuninicira putem javnog suˇcelja, integritet objekta ne smije do´ci u opasnost pr. ...Mnogokut...
Nasljedivanje ¯
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
skrivanje podataka objekt sa vanjskim svjetom komuninicira putem javnog suˇcelja, integritet objekta ne smije do´ci u opasnost pr. ...Mnogokut...
Nasljedivanje ¯ trokut kao specijalizacija mnogokuta
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
skrivanje podataka objekt sa vanjskim svjetom komuninicira putem javnog suˇcelja, integritet objekta ne smije do´ci u opasnost pr. ...Mnogokut...
Nasljedivanje ¯ trokut kao specijalizacija mnogokuta ima sve što i mnogokut, ali i nešto više...
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
skrivanje podataka objekt sa vanjskim svjetom komuninicira putem javnog suˇcelja, integritet objekta ne smije do´ci u opasnost pr. ...Mnogokut...
Nasljedivanje ¯ trokut kao specijalizacija mnogokuta ima sve što i mnogokut, ali i nešto više...
Polimorfizam
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
Glavne karakteristike OO jezika
Seminar 4 Ivan Sakaˇc Uvod
Enkapsulacija podaci i funkcije cˇ ine jednu logiˇcku cjelinu pr. Vektorski prostor kao uredena trojka ¯
skrivanje podataka objekt sa vanjskim svjetom komuninicira putem javnog suˇcelja, integritet objekta ne smije do´ci u opasnost pr. ...Mnogokut...
Nasljedivanje ¯ trokut kao specijalizacija mnogokuta ima sve što i mnogokut, ali i nešto više...
Polimorfizam pr. niz mnogokuta, od kojih su neki trokuti, cˇ etverokuti...svaki se crta na svoj naˇcin
Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
klasa / objekt
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
klasa - nacrt
klasa / objekt
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
klasa - nacrt objekt - realizacija klase (instantacijom u memoriji)
klasa / objekt
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
klasa - nacrt objekt - realizacija klase (instantacijom u memoriji) ostali pojmovi...
klasa / objekt
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda
klasa - nacrt objekt - realizacija klase (instantacijom u memoriji) ostali pojmovi... Javina portabilnost koda, virtual machine...
Seminar 4 Ivan Sakaˇc Uvod Postoji li potreba za neˇcim boljim od proceduralnog? Objektna paradigma Primjerak koda