Docsity
Docsity

Pripremite ispite
Pripremite ispite

Studirajte zahvaljujući brojnim resursima koji su dostupni na Docsity-u


Nabavite poene za preuzimanje
Nabavite poene za preuzimanje

Zaradite bodove pomažući drugim studentima ili ih kupite uz Premium plan


Školska orijentacija
Školska orijentacija


p04-Skripta-Programiranje-Građevina, Rezime od Osnovi programiranja

Građevinski fakultet,Skripta,Programiranje,Vežbe,Programiranje u javi,JAVA,Matrice,Konvertovanje,Parcijala,

Tipologija: Rezime

2012/2013

Učitan datuma 27.04.2013.

petricj
petricj 🇸🇷

4.5

(313)

677 dokumenti

1 / 13

Toggle sidebar

Ova stranica nije vidljiva u pregledu

Ne propustite važne delove!

bg1
PROGRAMIRANJE
Amir Hajdar
Teme
Klase i objekti u Javi
Primjer kroz klasu Krug
Atributi i metode
Inicijalizacija objekata (konstruktori)
Polymorphism
Statičke varijable i metode
This
2
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Delimični pregled teksta

Preuzmite p04-Skripta-Programiranje-Građevina i više Rezime u PDF od Osnovi programiranja samo na Docsity!

PROGRAMIRANJE

Amir Hajdar

Teme

Klase i objekti u Javi

Primjer kroz klasu Krug

Atributi i metode

Inicijalizacija objekata (konstruktori)

Polymorphism

Statičke varijable i metode

This

2

Klase i objekti u Javi

Java je potpun OO jezik za programiranje i

sve je bazirano na klasama

Sve što želimo uraditi mora imati definisano

svoje stanje i način ponašanja

Objekti se kreiraju od klasa koje definišu

logičku grupu podataka i metoda koje se

mogu vršiti nad podacima

Klasa: Krug

Krug

centar

poluprecnik

obim()

povrsina()

Metode

Klase bez metoda nemaju veliku svrhu – nemogu vršiti

interakciju sa sistemom

Metode su definisane odmah nakon definisanih atributa

public class Krug{

public double x, y; // centar kruga

public double r; // poluprecnik kruga

public double obim(){

return 23.14r;

public double povrsina(){

return (3.14*r^2);

Primjena klase Krug

Specifikacijom klase Krug , definisiali smo novi data

tip (“data abstraction”) i možemo kreirati objekte i

koristiti ih u aplikaciji

Definicija se vrši preko:

Krug KrugA;

Krug KrugB;

KrugA i KrugB još uvijek ne postoje (“null

reference”)

Primjena klase Krug

KrugA i KrugB nastaju kada ih kreiramo uz pomoć

ključne riječi new

KrugA=new Krug(); KrugB=new Krug();

Primjena klase Krug

Garbage collection:

KrugA = new Krug;

KrugB = new Krug;

KrugA = KrugB;

Krug 1 će biti naknadno “uništen” putem mehanizma

“garbage collection” jer se više ne koristi

KrugA KrugB

Klasa Krug

Kako bi zaštitili atribute klase, najčešće koristimo

metode da mijenjamo vrijednosti atributa, kao i da

ih upotrebljavamo ( SET i GET metode)

Upotrebljavamo SET i GET metode za Krug klasu:

KrugA.setX(1.0);

KrugA.getR();

Kada kreiramo objekte, inicijalna vrijednost se

treba pretpostaviti da je nepoznata, tj. trebamo

inicijalizirati objekt

Klasa Krug – metode SET i GET

public class Krug{

public double x,y,r;

public double setX(double inX){x = inX;}

public double setY(double inY){y = inY;}

public double setR(double inR){r = inR;}

public double getX(){return x;}

public double getY(){return Y;}

public double getR(){return r;}

Klasa Krug

Krug

x:double

y:double

r:double

getX():double

getY():double

getR():double

setX(double)

setY(double)

setR(double)

obim():double

povrsina():double

Klasa Krug

public class Krug { public double x,y,r; public double setX(double inX){x = inX;} public double setY(double inY){y = inY;} public double setR(double inR){r = inR;} public double getX(){return x;} public double getY(){return Y;} public double getR(){return r;} public double obim(){ return 23.14r; } public double povrsina(){ return (3.14*r^2); }

Konstruktor - primjer

public class Krug{

public double x,y,r;

public Krug(){ x=0.0; y=0.0; r=1.0; }

public Krug(double inX, double inY){

x = inX; y = inY;}

public Krug(double inX, double inY, double inR){

x = inX; y = inY; r = inR;

Krug KrugA = new Krug(1.0, 1.5, 2.0);

Krug KrugB = new Krug(1.0, 1.3);

Krug KrugC = new Krug();

Konstruktor - primjer

Krug

x:double

y:double

r:double

Krug()

Krug(double, double)

Krug(double, double, double)

getX():double

getY():double

getR():double

setX(double)

setY(double)

setR(double)

obim():double

povrsina():double

Polymorphism

Polymorphism – definisanje metoda sa istim imenom

a različitim (tipovima) argumentima

† Npr. Konstruktori

Koncept poznat kao “method overloading”

Logika je različita jer se koriste različiti argumenti

Primjer: Napisati program koji nalazi maksimum 2

broja ili teksta ( string -a). Napisati 2 metode za

svaku od operacija.

Polymorphism - primjer

class Uporedi{ public static int max(int a, int b){ if(a > b) return a; else return b; } public static String max(String a, String b){ if(a.compareTo(b) > 0) return a; else return b; }

Statičke varijable

Static varijable se (najčešće) kreiraju u slučaju potrebe za zajedničkom

varijablom za sve kreirane objekte

Statičkim varijablama se pristupa: ImeKlase.ImeVarijable

† Primjer:

public class Krug{ public double x,y,r; public static int brojKrugova=0; public Krug(double x, double y, double r){ this.x = x; this.y = y; this.r = r; brojKrugova++; } public static void main(String args[]){ Krug KrugA = new Krug(1.2, 1.5, 3.0); Krug KrugB = new Krug(1.0, 1.3, 2.0); System.out.println(Krug.brojKrugova) //broj krugova je 2! }

Statičke metode

Static metode (najčešće) grupišu metode koje ne

zavise od varijabli klase (eg. Matematičke funkcije)

Statičkim metodama se pristupa:

I meKlase.ImeMetode([paramteri])

† Primjer: Math.sin(ugao)

Ograničenja:

† Statička metoda može pozivati samo statičku metodu

† Statička metoda ima pristup samo statičkim varijablama

† Statička metoda ne može koristiti ključne riječi this i super