Prole e leto 2008
This presentation is the property of its rightful owner.
Sponsored Links
1 / 28

proleće/leto 2008 PowerPoint PPT Presentation


  • 77 Views
  • Uploaded on
  • Presentation posted in: General

Programski jezici. proleće/leto 2008. Šta je objekat?. Promenljive (podaci). Metodi (ponašanje). Šta je objekat?. Auto. bela boja. ugasi. 4 vrata. upali. koči. brzina 90 km/s. promeni brzinu. Šta je objekat?. Enkapsulacija (učaurivanje )

Download Presentation

proleće/leto 2008

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Prole e leto 2008

Programski jezici

proleće/leto 2008


Ta je objekat

Šta je objekat?

Promenljive

(podaci)

Metodi

(ponašanje)

Programski jezici


Ta je objekat1

Šta je objekat?

Auto

bela boja

ugasi

4 vrata

upali

koči

brzina 90 km/s

promeni

brzinu

Programski jezici


Ta je objekat2

Šta je objekat?

  • Enkapsulacija (učaurivanje)

    • Podaci objekta su učaureni u centru objekta, a okružuju ih metodi koji ih skrivaju od drugih objekata

    • Pristup učaurenim podacima se vrši preko specijalnih metoda

    • Učaureni podaci su zaštićeni od neželjenih izmena spolja (izvan čaure)

Programski jezici


Ta je objekat3

Šta je objekat?

  • Prednosti enkapsulacije

    • Modularnost

      • Izvorni kod za jedan objekat se može pisati nezavisno od drugih objekata

    • Skrivanje informacija

      • Objekat ima javni interfejs koji drugi objekti mogu koristiti za komunikaciju sa njim. Privatne promenljive i metodi objekta se mogu promeniti bez uticaja na druge objekte

Programski jezici


Ta je poruka

Šta je poruka?

  • Objekti komuniciraju slanjem poruka

promeniBrzinu(3)

bmw

Pera

Programski jezici


Ta je poruka1

Šta je poruka?

  • Tri dela poruke

    • Objekat primalac poruke (bmw)

    • Ime metoda koji objekat primalac treba da izvrši (promeniBrzinu)

    • Dodatni parametri metoda koji su potrebni (3)

  • Poziv funkcije (procedure) kod proceduralnih jezika

Programski jezici


Ta je klasa

Šta je klasa?

  • Klasa je opis objekata sa zajedničkim svojstvima

  • Klasa definiše šablon za stvaranje objekata za zajedničkim svojstvima

  • Klasa definiše atribute i ponašanja koje poseduju svi objekti napravljeni na osnovu klase

Programski jezici


Ta je klasa1

Šta je klasa?

  • Analogija

    • nacrt kuće na papiru = klasa

    • izgrađena kuća = objekat

    • na osnovu jednog nacrta kuće se može izgraditi više kuća = na osnovu jedne klase se može napraviti više objekata

Programski jezici


Ta je klasa2

Šta je klasa?

  • U OOP se pišu klase, a objekti se ne opisuju nego se stvaraju na osnovu klasa

  • Instanca (primerak) klase = objekat

  • Stvaranje objekta = instanciranje odgovarajuće klase

  • Java programi se sastoje isključivo od klasa, pa se sve mora nalaziti unutar klasa (primer: Kuća.java)

Programski jezici


Ta je klasa3

Šta je klasa?

public class Kuća {

private intbrojSpratova;

private String boja;

private String adresa;

...

public void dozidajSprat();

}

...

Kuća vila = new Kuća(...);

Kuća mojaKuća = new Kuća(...);

Kuća koliba = new Kuća(...);

Vila.dozidajSprat();

Programski jezici


Ta je klasa4

brojSpratova=3

brojSpratova=1

brojSpratova=2

boja= "bela"

boja= "siva"

boja= "plava"

adresa= " ... "

adresa= " ... "

adresa= " ... "

dozidajSprat()

dozidajSprat()

dozidajSprat()

Šta je klasa?

vila

mojaKuća

koliba

Programski jezici


Ta je klasa5

Šta je klasa?

  • Objektne (instancne) promenljive (polja): brojSpratova, boja, adresa

  • Objektni (instancni) metodi: dozidajSprat()

  • Svaki napravljeni objekat ima svoje kopije objektnih promenljivih

  • Objektni metodi se moraju pozivati uz objekat na koji se odnose

  • Klasne promenljive i metodi

Programski jezici


Ta je nasle ivanje

Šta je nasleđivanje?

  • Način za formiranje novih klasa od postojećih

  • Nasleđivanjem se uspostavlja hijerarhijska relacija između srodnih klasa

  • Nova klasa proširuje postojeći klasu i nasleđuje sve atribute i ponašanja postojeće klase

Programski jezici


Ta je nasle ivanje1

Šta je nasleđivanje?

Kuća

PoslovnaKuća

StambenaKuća

Zgrada

Soliter

Dvorac

Programski jezici


Ta je nasle ivanje2

Šta je nasleđivanje?

public class StambenaKuća extends Kuća {

private intbrojStanova;

...

public void okreči();

}

...

StambenaKuća k1 = new StambenaKuća(...);

StambenaKuća k2 = new StambenaKuća(...);

Programski jezici


Ta je nasle ivanje3

k1

brojSpratova=5

boja= "žuta"

adresa= " ... "

dozidajSprat()

brojStanova=20

okreči()

Šta je nasleđivanje?

k2

brojSpratova=10

boja= "zelena"

adresa= " ... "

dozidajSprat()

brojStanova=50

okreči()

Programski jezici


Ta je nasle ivanje4

Šta je nasleđivanje?

  • Terminologija

    • Bazna klasa — klasa koja se proširuje

    • Izvedena (proširena) klasa — nova klasa

  • Bazna klasa = natklasa, klasa-roditelj

  • Izvedena (proširena) klasa = potklasa, klasa-dete

Programski jezici


Paketi

java.lang

java.util

java.io

java.net

java.awt

java.applet

Paketi

  • Klase su organizovane po paketima, analogno odnosu datoteka i direktorijuma u okviru fajl-sistema

  • Paket je kolekcija klasa koje čine srodnu celinu (namenjenih jednoj vrsti posla)

  • Paketi čine biblioteke klasa

  • Osnovni paketi:

Programski jezici


Paketi1

Paketi

  • Java platforma sadrži veliki broj klasa koje su grupisane u pakete

Programski jezici


Paketi2

Paketi

  • Paketi olakšavaju nalaženje i korišćenje klasa

  • Paketi sprečavaju konflikte imena klasa, jer različiti paketi mogu da sadrže klase sa istim imenom

  • Paketi omogućavaju kontrolu pristupa klasama

Programski jezici


Kori enje paketa

Korišćenje paketa

  • Pri pisanju neke klase, mogu se jednostavno koristi samo klase iz istog paketa

  • Klase iz drugog paketa se mogu koristiti uz navođenje punog imena:

    java.util.Date v = new java.util.Date();

Programski jezici


Kori enje paketa1

Korišćenje paketa

  • Deklaracija import “uvozi” pojedine klase iz nekog paketa

  • Navodi se pre početka teksta klase

    import java.util.Date;

    class MojaKlasa {

    ...

    Date v = new Date();

    ...

    }

Programski jezici


Kori enje paketa2

Korišćenje paketa

  • Deklaracija import “uvozi” sve klase iz nekog paketa pomoću džoker-znaka *

  • Navodi se pre početka teksta klase

    import java.util.*;

    class MojaKlasa {

    ...

    Date v = new Date();

    ...

    }

  • Paket java.lang se automatski uvozi u sve programe

Programski jezici


Pravljenje paketa

Pravljenje paketa

  • Svaka klasa mora da pripada nekom paketu

  • Ako se ništa ne navede, klasa pripada podrazumevanom (anonimnom) paketu

  • Deklaracija package definiše paket kome pripada neka klasa

  • Navodi se na samom početku teksta klase (pre deklaracije import)

Programski jezici


Pravljenje paketa1

Pravljenje paketa

package mojpaket;

import java.util.*;

class MojaKlasa { ... }

  • Datoteka MojaKlasa.javase mora nalaziti u direktorijumumojpaket koji se pravi u korenskom direktorijumu programa

  • Prevođenje klase MojaKlasa se mora obaviti iz korenskog direktorijumaprograma :

    “korenski direktorijum”>javac mojpaket\MojaKlasa.java

Programski jezici


Struktura java programa

Struktura Java programa

  • Java program se sastoji od jedne ili više klasa

  • Izvorni kod svake klase se piše u posebnoj datoteci čije je ime isto kao ime klase

  • Ekstenzija datoteke Java izvornog koda mora biti .java

Programski jezici


Struktura java programa1

Struktura Java programa

javac MyProgram.java

...

javac Hat.java

java MyProgram

Programski jezici


  • Login