UNIVERZITET FAKULTET INFORMACIONIH · PDF fileDr Dušan T. Malbaški OBJEKTNO ORIJENTISANO PROGRAMIRANJE programski jezik java Recenzenti Dr Miroslav Hajduković, red. prof., Fakultet

  • View
    258

  • Download
    14

Embed Size (px)

Text of UNIVERZITET FAKULTET INFORMACIONIH · PDF fileDr Dušan T. Malbaški OBJEKTNO...

  • UNIVERZITET FAKULTET INFORMACIONIH TEHNOLOGIJA

    NOVI SAD - SREMSKA KAMENICA

    2015.

  • Dr Duan T. Malbaki

    OBJEKTNO ORIJENTISANO PROGRAMIRANJE programski jezik java

    Recenzenti Dr Miroslav Hajdukovi, red. prof., Fakultet tehnikih nauka, Novi Sad Dr Aleksandar Kupusinac, docent, Fakultet tehnikih nauka, Novi Sad

    Izdava Univerzitet Educons

    Fakultet informacionih tehnologija Vojvode Putnika 87, Sremska Kamenica

    Za izdavaa

    Prof. dr Aleksandar Andrejevi

    CIP - , 004.438JAVA(075.8) , Objektno orijentisano programiranje [Elektronski izvor] : programski jezik Java / Duan T. Malbaki. - Sremska Kamenica : Univerzitet Educons, Fakultet informacionih tehnologija, 2016. - 1 elektronski optiki disk (CD-ROM) ; 12 cm Napomene i bibliografske reference uz tekst. - Bibliografija. ISBN 978-86-87785-69-4 Java COBISS.SR-ID 303017223

  • PREDGOVOR

    Ovaj udbenik predstavlja drugo, bitno izmenjeno i dopunjeno, izdanje knjige "Internet programiranje" istog autora. Dve su krupne izmene:

    1. pored (modifikovane) konceptualne definicije klase i objekta, uvedena je i formalna definicija, koja klasu odreuje kao nain realizacije apstraktnog tipa podataka

    2. stariji mehanizam za ostvarivanje generinosti zamenjen je novim, baziranim na sintaksnom proirenju jave.

    Osim navedenih, unete su jo neke modifikacije i to:

    razdvojeni su modularnost kao osobina klase i modul kao softverska komponenta iterator Enumeration zamenjen je generikim iteratorom Iterator ukljuena je naredba for-each i koriena je u svim primerima gde je to bilo mogue sve kontejnerske klase zamenjene su generikim verzijama uvedena je automatska konverzija izmeu omotakih klasa i baznih tipova.

    Izmene i dopune zahtevale su preradu poglavlja 1, 2, 5, 6, 7, 8 i 10. Novi Sad-Sremska Kamenica, jun 2015.

    Autor

  • PREDGOVOR PRVOM IZDANJU

    Kako i sam naslov kazuje, ova knjiga ima dvostruku ulogu: - da poslui kao prvi deo celovitog udbenika predmeta Internet programiranje za studente

    Tehnikog fakulteta "Mihajlo Pupin" u Zrenjaninu - da se koristi kao potpuno nezavisan udbenik objektnog programiranja sa programskim

    jezikom java kao model-jezikom. Materijal je organizovan i izloen tako da se italac upoznaje ne samo sa programskim jezikom java (koji je ipak samo sredstvo), nego prvenstveno sa principima, metodama i tehnikama objektne metodologije uopte: sa apstrakcijom, inkapsulacijom, modularnou, nasleivanjem i polimorfizmom. Svaki od navedenih pojmova obraen je prvo u optim relacijama, a zatim i detaljno, kroz odgovarajua sredstva implementacije inkorporirana u javu. Nadamo se da e udbenik ostvariti oba postavljena cilja, a ako i ne uspe, za utehu ostaje Plinijeva konstatacija:

    Nijedna knjiga nije tako loa, a da nam barem malo ne bi koristila. U Zrenjaninu, januara 2007.

    Autor

  • SADRAJ SADRAJ ..................................................................................................................................5 1. UVOD U OBJEKTNO PROGRAMIRANJE.........................................................................8

    1.1. PROGRAM JE KOMPLEKSAN SISTEM ...................................................................................... 8 1.1.1. Apstrakcija i dekompozicija.................................................................................................. 10

    1.2. PROCEDURNO I OBJEKTNO PROGRAMIRANJE................................................................... 12 1.3. POUZDANOST I MODULARNOST SOFTVERSKOG SISTEMA............................................... 16 1.4. KRATAK OSVRT NA ISTORIJSKI RAZVOJ OBJEKTNE METODOLOGIJE............................ 18

    2. O DEFINICIJI KLASE I OBJEKTA ...................................................................................20 2.1. KONCEPTUALNA DEFINICIJA KLASE I OBJEKTA................................................................ 20 2.2. OSNOVNI TERMINI.................................................................................................................... 24 2.3. FORMALNA DEFINICIJA KLASE I OBJEKTA ......................................................................... 25

    2.3.1. Apstraktni tip podataka......................................................................................................... 27 2.3.2. Od ADT do klase................................................................................................................... 30

    2.4. ELEMENTI OBJEDINJENOG JEZIKA MODELOVANJA - UML ............................................. 31 2.4.1. Dijagram klasa ..................................................................................................................... 32 2.4.2. Dijagram stanja.................................................................................................................... 34

    3. PROCEDURNI DEO JAVE.................................................................................................37 3.1. GENEZA I OSNOVNE KARAKTERISTIKE JAVE ...................................................................... 37

    3.1.1. Virtuelna memorija JVM ...................................................................................................... 38 3.1.2. Rezime osnovnih karakteristika jave..................................................................................... 40

    3.2. ALFABET, IDENTIFIKATORI I KOMENTARI .......................................................................... 40 3.2.1. Identifikatori i komentari ...................................................................................................... 41

    3.3. BAZNI TIPOVI ............................................................................................................................ 42 3.4. PROMENLJIVE........................................................................................................................... 45

    3.4.1. Domet identifikatora promenljivih i objekata....................................................................... 46 3.4.2. Prvi primer programa na javi............................................................................................... 47

    3.5. OPERATORI I IZRAZI ................................................................................................................ 50 3.5.1. Aritmetiki operatori ............................................................................................................ 50 3.5.2. Relacioni operatori............................................................................................................... 50 3.5.3. Logiki operatori .................................................................................................................. 51 3.5.4. Bit-operatori ......................................................................................................................... 52 3.5.5. Operatori dodele................................................................................................................... 52 3.5.6. Uslovni operator................................................................................................................... 54

    3.6. KONVERZIJA TIPOVA ............................................................................................................... 54 3.6.1. Implicitna konverzija ............................................................................................................ 54 3.6.2. Eksplicitna konverzija........................................................................................................... 55

    3.7. NIZ, SLOG I STRING .................................................................................................................. 55 3.7.1. Nizovi .................................................................................................................................... 56 3.7.2. Matrice ................................................................................................................................. 58 3.7.3. Slogovi .................................................................................................................................. 60 3.7.4. Stringovi ............................................................................................................................... 60

    3.8. NAREDBE ................................................................................................................................... 61 3.8.1. Blok....................................................................................................................................... 62 3.8.2. Selekcije ................................................................................................................................ 62 3.8.3. Ciklusi................................................................................................................................... 68 3.8.4. Skokovi.................................................................................................................................. 72

    4. ELEMENTARNO RUKOVANJE KLASOM .....................................................................74 4.1. DEKLARISANJE I INSTANCIRANJE KLASE............................................................................. 74

    4.1.1. Polja baznog tipa.................................................................................................................. 74 4.1.2. Metode .................................................................................................................................. 75 4.1.3. Kreiranje i unitavanje objekata........................................................................................... 8