Aktywne Wpisy
Trzy miesiące temu ja i moja dziewczyna wyjechaliśmy do pracy do Holandii jako para, oczywiście mamy swój pokój, ale z racji tego że mieszkamy w kontenerach to też mamy współlokatorów za ścianą. Sytuacji kiedy jesteśmy sami jest niewiele, albo jesteśmy w pracy albo w domu wraz ze współpracownikami. Czy waszym zdaniem w takiej sytuacji da się uprawiać seks?
#pytanie #emigracja #seks #zwiazki #holandia #zalesie #przegryw #pracazagranica
#pytanie #emigracja #seks #zwiazki #holandia #zalesie #przegryw #pracazagranica
Szyszkalogin +15
#przegryw Chłop tuszy a wy zazdrośni
Pizza ma listę składników, które są obiektami implementującymi interfejs Addition, i chciałbym, abym mógł dekorować pizzę każdym składnikiem, czyli coś w stylu:
public class Ham implements Addition extends AdditionDecorator
Ma to sens?
#java #programowanie
private List listAddition;
No to już masz zrobione, że każdym składnikiem można to o co chodzi?
Pizza pizza = new CheesePizza(list);
Pizza pizza = new Ham(pizza);
I z tego powinna wyjść pizza serowa z dodatkową szynką. I zastanawiam się, czy takie rozwiązanie jest dobre czy może coś za bardzo przekombinowuję.
Komentarz usunięty przez autora
Ten fragment kodu jest nieprawidłowy, redefiniujesz zmienne. Zmienna o nazwie pizza jest już utworzona.
Powiedziałem czemu
Pizza pizza = new CheesePizza(list); <- tworzysz zmienną o nazwie pizza
Pizza pizza = new Ham(pizza); <- Próbujesz drugi raz utworzyć zmienną o nazwie pizza
powinno być:
Pizza pizza = new CheesePizza(); //bez tego list, już nie wazne to
pizza = new Ham(pizza);
pizza.add(new Ham())
. Skoro chcesz w ten sposób dodawać składniki to może jakiś Builder?Teraz jest błąd semantyczny.
Pizza pizza = new CheesePizza(); <- tworzysz zmienną typu pizza przechowującą obiekt typu CheesePizza. To jest ok
pizza = new Ham(pizza); <- nadpisujesz zawartość, więc CheesePizza jest usuwana a w jej miejsce wstawiany nowy obiekt
To tak jakbyś zrobił
int x = 10;
x = 50;
i oczekiwał, ze w x będzie 60
Pizza myPizza = PizzaFactory.createPizza(CHEESE_PIZZA).withToppings(new Ham(), new Mushrooms(), new Pepperoni());
Komentarz usunięty przez autora
Jeżeli masz to tak zrobione to nie możesz przypisać obiektu typu Ham do zmiennej typu Pizza
@Philopolemus_Fronius: klasa Ham miałaby raczej wygladać tak:
//AdditionDecorator dziedziczy z pizzy
public class Ham extends AdditionDecorator implements Addition {
Pizza pizza;
public Ham(Pizza pizza) { this.pizza = pizza; }
//w tym miejscu np. nadsłaniać metodę toString pizzy (korzystanie z wzorca dekorator)
@ Override
public String toString() {
return pizza.toString() + "z
Możesz zrobić np tak.
Pizza pizza = new CheesePizza(new HamPizza())