Služebník (návrhový vzor): Porovnání verzí

Smazaný obsah Přidaný obsah
fix; -neplatné odkazy, kdyžtak to zkoukněte
Řádek 50:
// Metoda, ktera presune jakoukoliv tridu implementujici Movable
// na zcela novou pozici
public void move(Movable serviced, PositionPositionAbsolute absolute) {
// nastavi novou pozici
serviced.setPosition(absolute);
Řádek 59:
public void move(Movable serviced, PositionRelative relative) {
// nacte aktualni absolutni pozici objektu serviced
PositionPositionAbsolute position = serviced.getPosition();
// posune aktualni pozici PositionPositionAbsolute o pozici relativni PositionRelative
position.add(relative);
// a aktualizuje vysledek
Řádek 71:
public interface Movable {
// metoda setPosition, ktera umoznuje presouvat Movable
public void setPosition(PositionPositionAbsolute p);
// metoda getPosition, ktera umoznuje ziskat polohu
public PositionPositionAbsolute getPosition();
 
public void move(PositionAbsolute absolute);
Řádek 82:
// trojuhelnik implementujici rozhrani Movable
public class Triangle implements Movable {
private PositionPositionAbsolute p; // pro urceni pozice trojuhelniku
 
@Override
public void setPosition(PositionPositionAbsolute p) { // nastaveni pozice trojuhelniku
this.p = p;
}
 
@Override
public PositionPositionAbsolute getPosition() { // ziskani pozice trojuhelniku
return this.p;
}
Řádek 109:
// ctyrstran implementujici rozhrani Movable
public class Rectangle implements Movable {
private PositionPositionAbsolute p; // pro urceni pozice ctyrstranu
 
@Override
public void setPosition(PositionPositionAbsolute p) { // nastaveni pozice ctyrstranu
this.p = p;
}
 
@Override
public PositionPositionAbsolute getPosition() { // ziskani pozice ctyrstranu
return this.p;
}
Řádek 134:
}
 
public class PositionPositionAbsolute { //absolutni pozice
private int x; //souradnice x
private int y; //souradnice y
Řádek 147:
}
 
public PositionPositionAbsolute(int sx, int sy) { //konstruktor teto tridy
x = sx;
y = sy;
Řádek 191:
// Metoda, ktera presune jakoukoliv tridu implementujici Movable
// na zcela novou pozici
public void move(Movable serviced, PositionPositionAbsolute absolute) {
// nastavi novou pozici
serviced.setPosition(absolute);
Řádek 200:
public void move(Movable serviced, PositionRelative relative) {
// nacte aktualni absolutni pozici objektu serviced
PositionPositionAbsolute position = serviced.getPosition();
// posune aktualni pozici PositionPositionAbsolute o pozici relativni PositionRelative
position.add(relative);
// a aktualizuje vysledek
Řádek 212:
public interface Movable {
// metoda setPosition, ktera umoznuje presouvat Movable
public void setPosition(PositionPositionAbsolute p);
// metoda getPosition, ktera umoznuje ziskat polohu
public PositionPositionAbsolute getPosition();
}
 
// trojuhelnik implementujici rozhrani Movable
public class Triangle implements Movable {
private PositionPositionAbsolute p; // pro urceni pozice trojuhelniku
 
@Override
public void setPosition(PositionPositionAbsolute p) { // nastaveni pozice trojuhelniku
this.p = p;
}
 
@Override
public PositionPositionAbsolute getPosition() { // ziskani pozice trojuhelniku
return this.p;
}
Řádek 234:
// ctyrstran implementujici rozhrani Movable
public class Rectangle implements Movable {
private PositionPositionAbsolute p; // pro urceni pozice ctyrstranu
 
@Override
public void setPosition(PositionPositionAbsolute p) { // nastaveni pozice ctyrstranu
this.p = p;
}
 
@Override
public PositionPositionAbsolute getPosition() { // ziskani pozice ctyrstranu
return this.p;
}
}
 
public class PositionPositionAbsolute { //absolutni pozice
private int x; //souradnice x
private int y; //souradnice y
Řádek 260:
}
 
public PositionPositionAbsolute(int sx, int sy) { //konstruktor teto tridy
x = sx;
y = sy;
Řádek 282:
public static void main(String[] args) {
MoveServant ms = new MoveServant();
ms.move(new Triangle(), new PositionPositionAbsolute(10, 10));
 
MoveServant ms2 = new MoveServant();
Řádek 320:
| isbn = 978-80-247-2653-3
}}
 
== Externí odkazy ==
 
* [http://soubory.pecinovsky.cz/Sluzebnik_1.png Diagram tříd případu, kdy služebníka volá obsluhovaný objekt]
* [http://soubory.pecinovsky.cz/Sluzebnik_1.png Diagram tříd případu, kdy služebníka volá klient]
 
[[Kategorie:Návrhové vzory]]