Odwołanie metody obiektu do metody innego obiektu

0

Witam,
posiadam obiekt "Panel", a w nim definiowaną metodę "viewStatistic()".

public class Panel {
    public void viewStatistic() {
        System.out.print("Wood: " + metod1() + " kg");
    }

We wspomnianej metodzie wyświetlam ilość drewna. W klasie "Wood" przechowuje ilość drewna. Jest także zdefiniowana metoda get, zwracająca ilość. Na potrzeby przykładu nazywa się ona: getQuantityWood() .

Co chciałbym zrobić? Użyć tej metody w metodzie innego obiektu, jeszcze nie stworzonego. I pytanie jak?

PS. Jaką komendą mogę wyczyścić konsolę w javie? Jakaś komenda coś jak "cls" w c++.

0

Nie rozumiem pytania. Musisz mieć referencje do obiektu na którym chcesz wywołać metodę. cls nie jest żadna komendą w c++ tylko programem windowsowym...

0

Chciałbym użyć metody "getQuantityWood()" w metodzie innego obiektu, w metodzie "viewStatistic()".

Nawiasem: chodziło mi o System("cls");

0

No to żaden problem pod warunkiem że masz tam jakiś obiekt klasy Panel na którym tą metodę możesz wywołać.

1

@tomasztopolewski no ale rozumiesz chyba że getQuantityWood musi odnosić się do jakiegoś obiektu Panel który ma w sobie ten Wood? Bo przecież mógłbym w programie mieć takich paneli 100 i skądś ten twój drugi obiekt musi wiedzieć o który panel chodzi...

0

@szweszwe dobrze, załóżmy iż taki obiekt istnieje. Jak miałaby wyglądać definicja tej metody. Z użyciem "getQuantityWood()" - przekazuje wartość do wyświetlenia.

@Shalom obiekt Panel będzie istniał tylko jeden, tak samo jak obiekt Wood.

1

Np tak:

Klasa {

    metoda(Panel panel) {
        System.out.println("Print " + panel.getQuantityWood());
    }
}
2
class Main
{
     public static void main(String[] args)
     {
          Panel p = new Panel();
          Wood w = new Wood(p);
          w.method2();
     }
}
class Panel
{
     void method1()
     {
         System.out.println("Panel");
     }
}
class Wood
{
     Panel p;
     Wood(Panel p)
    {
        this.p = p;
    }
    void method2()
    {
        System.out.println("Wood");
        p.method1();
    }
}

P.S. Nie można prosto wyczyścić konsoli.

0

Problem rozwiązany, dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1