[ Príspevkov: 3 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Prepojenie class v JAVE ( BlueJ )

Registrovaný: 04.12.08
Prihlásený: 16.12.10
Príspevky: 59
Témy: 10 | 10
NapísalOffline : 05.10.2009 21:50 | Prepojenie class v JAVE ( BlueJ )

zdravim...mam dve triedy Elevator a Rectangle...v triede rectangle mam kopu metod napr hide, show, getX, moveRight atd.

chcem sa spytat ako naj spravit aby som tieto metody mohol pouzivat aj v class Elevator??...konkretne pouzivam nastroj BlueJ ( som zaciatocnik a mame to v skole )

takto to vyzera v Bluej - http://i37.tinypic.com/30bitqe.png

zdrojak Rectangle

Kód:
 class Rectangle  {

   
    protected int width;
    protected int height;
    protected int x;
    protected int y;
    protected Color color;
    protected boolean visible;
    protected int step;
   
     public Rectangle() {
     this(15,10,10,10,Color.RED,true);
    }

    public Rectangle(int x, int y, int width, int height, Color color, boolean visible) {
        this.width = width;
        this.height = height;
        this.x = x;
        this.y = y;
        this.color = color;
        this.visible = visible;
       

        if (visible) {
            show();
        }
   
       
    }

    public void show() {
        visible = true;
        Canvas.setColor(color);
        draw();
    }


    public void hide() {
        visible = true;
        Canvas.setColor(Canvas.getBackgroundColor());
        draw();
    }


    public void draw() {
        for (int i = 0; i < width; i++) {
            for (int j = 0; j < height; j++) {
                Canvas.drawPixel(x + i, y + j);
            }
        }
    }

 
void moveRight() {
        hide();
        x +=1;
        show();
    }

 
void moveLeft() {
        hide();
        x -= 1;
        show();
    }


void moveUp() {
        hide();
        y -= 1;
        show();
    }

void moveDown() {
       hide();
        y += 1;
        show();
    }

int getWidth() {
        return width;
    }

void setWidth(int width) {
        hide();
        this.width = width;
        show();
    }
int getHeight() {
        return height;
    }

void setHeight(int height) {
        hide();
        this.height = height;
        show();
    }

int getX() {
        return x;
    }

    void setX(int x) {
        hide();
        this.x = x;
        show();
    }

int getY() {
        return y;
    }

void setY(int y) {
        hide();
        this.y = y;
        show();
    }

Color getColor() {
        return color;
    }

void setColor(Color color) {
        hide();
        this.color = color;
        show();
    }
}


kod Elevator

Kód:
public class Elevator 
{
       private int width;
    private int height;
    private int x;
    private int y;
    private Color color;
    private int actualFloor;
    private int floors;
    private boolean visible;
   

    /**
     * Constructor for objects of class Elevator
     */
    public Elevator(){
    this(1,1,7,5,5,0,true);
}

public Elevator(int x, int y, int width, int height,int floors,int actualFloor, boolean visible) {
        this.width = width;
        this.height = height;
        this.x = x;
        this.y = y;
        this.floors = floors;
        this.actualFloor = 0;
        this.visible = visible;
      Canvas.setColor(Color.RED);

        if (visible) {
            show();
        }

}
}



Offline

Užívateľ
Užívateľ
Prepojenie class v JAVE ( BlueJ )

Registrovaný: 30.05.07
Prihlásený: 29.03.14
Príspevky: 641
Témy: 46 | 46

Staci aby metoda bola public a da sa pouzit aj z ineho objektu. Ale potom samozrejme ked pouzijes niekde v Elevatore metodu z Rectanglu, napr rectangle.getX tak to vrati to x co je v Rectangle, nie co je v Elevatore - toto neviem ci ti je jasne.

Treba sa na to pozerat tak ze trieda je nejaka vec, atributy su vlastnosti tej veci (napr Rectangle tam ma x,y, farbu, velkost...) a metody su schopnosti tej veci - napr setColor - vec ma schopnost zmenit farbu...


Offline

Užívateľ
Užívateľ
Prepojenie class v JAVE ( BlueJ )

Registrovaný: 02.11.07
Prihlásený: 18.03.15
Príspevky: 470
Témy: 22 | 22
Bydlisko: Zilinska Un...
NapísalOffline : 07.10.2009 19:01 | Prepojenie class v JAVE ( BlueJ )

Skus rozmyslat troska inac, jednoducho, trieda je neaky typ premennej, ktorej vytvoris obiekt a metodami nastavis dany obiekt. Takze vytvoris dva obiekty typu
Kód:
public Rectangle _rectangle;

a typu
Kód:
public Elevator _elevator;

Napr. v 1. triede by si mal mat metody krtore ti napr. navracaju polohu takto:
Kód:
 _rectangle.getX(); _rectangle.getY(); _rectangle.getZ(); 

V druhej triede zas budes mat public metody, ktore ocakavaju neaku hlavnu polohu napr.
Kód:
_elevator.setX(float) .atd......


a mozes spravit toto.

Kód:
_elevator.setX(_rectangle.getX());
_elevator.setY(_rectangle.getY());
_elevator.setZ(_rectangle.getZ());


Co tym chcem naznacit? Ze obiekt ti v podstate nieco tvori. Jeden objekt dokaze odovzdat parameter dalsiemu a naopak. Cize chcem tym povedat ze jednotlive triedy by medzi sebou nemali komunikovat, ale komunikuju spolu iba objekty. Alebo sa pouziva ze neaky obiekt nastavi, nacit atd... nico pre inu triedu a ta to odavzda prostrednictvom obiektu dalsej a tak. Ale nie ze neaku metodu z jednej triedy pouzijes v druhej triede, to ee.
Na komunikaciu a predavanie parametrov sa tiez dobre vyuziva dedicnost a podobne veci . V jave sa aj casto vyuzivaju staticke metody, viac ako v c++, staticke metody sa daju pekne pouzit na pristup roznych obiektov na zakazdym to iste pametove miesto, bez novej alokacie, je to vlastne vyuzitie ukazovatelov, aspo myslim ze to tak pracuje :D


_________________
Notebook: HP EliteBook 8740w
You can see my work in my www
 [ Príspevkov: 3 ] 


Prepojenie class v JAVE ( BlueJ )



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Ako prejsť na druhú class v Jave

v Assembler, C, C++, Pascal, Java

1

424

02.03.2015 11:04

walther

V tomto fóre nie sú ďalšie neprečítané témy.

MicroSDHC class 2 alebo class 4 mám vrátiť ?

v Pamäte

3

668

16.12.2010 20:09

majky358

V tomto fóre nie sú ďalšie neprečítané témy.

BlueJ import javax.faces...

v Assembler, C, C++, Pascal, Java

1

302

10.03.2016 16:06

XOLOO

V tomto fóre nie sú ďalšie neprečítané témy.

Program v Jave

v Ostatné

1

304

27.11.2015 16:17

chrono

V tomto fóre nie sú ďalšie neprečítané témy.

Matice v Jave

v Assembler, C, C++, Pascal, Java

1

482

27.11.2013 8:19

BX

V tomto fóre nie sú ďalšie neprečítané témy.

Cykly v Jave

v Assembler, C, C++, Pascal, Java

2

597

27.10.2010 9:58

Mony

V tomto fóre nie sú ďalšie neprečítané témy.

Retazce v Jave

v Assembler, C, C++, Pascal, Java

13

476

11.01.2014 20:42

focko

V tomto fóre nie sú ďalšie neprečítané témy.

Metoda v Jave

v Assembler, C, C++, Pascal, Java

3

475

26.10.2017 20:40

BX

V tomto fóre nie sú ďalšie neprečítané témy.

Programovanie v JAVE

v Ponuka práce

1

1423

08.06.2009 21:41

tlacitko Enter

V tomto fóre nie sú ďalšie neprečítané témy.

programovanie v JAVE

v Assembler, C, C++, Pascal, Java

3

388

11.10.2013 21:25

Unlink

V tomto fóre nie sú ďalšie neprečítané témy.

Trieda v Jave

v Assembler, C, C++, Pascal, Java

3

390

07.02.2014 8:55

m@rtyn

V tomto fóre nie sú ďalšie neprečítané témy.

vyhladavac v jave

v Assembler, C, C++, Pascal, Java

4

417

06.01.2014 11:49

cantona9

V tomto fóre nie sú ďalšie neprečítané témy.

Hlavicka v JAVE

v Assembler, C, C++, Pascal, Java

2

488

28.04.2010 20:30

dudomat

V tomto fóre nie sú ďalšie neprečítané témy.

Uloha v JAVE, surne.

v Assembler, C, C++, Pascal, Java

2

1022

25.10.2009 12:30

hlodavec

V tomto fóre nie sú ďalšie neprečítané témy.

zmena kodovania v JAVE

v Assembler, C, C++, Pascal, Java

1

374

12.04.2010 15:06

Forty-

V tomto fóre nie sú ďalšie neprečítané témy.

2rozmerne polia v jave

v Assembler, C, C++, Pascal, Java

8

612

29.03.2015 9:37

Lessik



© 2005 - 2024 PCforum, edited by JanoF