Wywołanie tej samej metody

0

Witam,
Otóż mam 3 klasy, 2(nazwijmy je X) mają taką samą nazwę różnią się tylko polami i metodami prywatnym, to co mają publiczne mają takie same. Klasa 3 to klasa testująca, i teraz mam pytanie czy możliwe jest wywołanie tej samej metody(z tych 2 klasach X), dwa razy? W main mam coś takiego:

....

 w.k.X p1 = new w.k.X(jakix, jakiy);
 w.k.X doOdbiciaWzgledemOsiOX = new w.k.X(jakix, jakiy);

w.b.X p2 = new w.b.P(jakix, jakiy);
w.b.X doOdbiciaWzgledemOsiOX = new w.b.X(jakix, jakiy);

I w takim przypadku, będzie mi wyrzucać, iż ta metoda jest już zdefiniowana.
Jedna klasa X korzysta ze współrzędnych kartezjańskich, druga z biegunowych .. i dlatego w klasie test chce wywołać metody dla tych rodzajów wsp.

Stąd też mam pytanie jak tego dokonać?

0

Ty chyba pomyliłeś pojęcie konstruktora z metodami.

NazwaKlasy{

      NazwaJkasy(parametry){ //<- to jest konstruktor
           //instrukcje konstruktora
      }
      metoda(parametry){ //<- to jest metoda
           //instrukcje metody
      }

}

Konstruktor można wywołać tylko raz metody możesz wywołać wielokrotnie.

0

@czarny Mistrz postawił jakąś hipotezę, może prawdziwą. Przyznam się, że zupełnie nie rozumiem o co Ci chodzi.

0

Możesz wywoływać tę samą metodę z różnych klas, ale nie możesz zmieniać typu zmiennej. Patrz, co robisz:
Tworzysz p1 klasy w.k.X
Tworzysz doOdbiciaWzgledemOsiOX klasy w.k.X
Tworzysz p2 klasy w.b.X
Starasz się utworzyć doOdbiciaWzgledemOsiOX klasy w.b.X.
Problem polega na tym, że masz już zmienną "doOdbiciaWzgledemOsiOX" i jest ona referencją do obiektu klasy w.k.X.

To tak, jakbyś zrobił:

int test = 1;
String test = "jeden";

Nie możesz mieć dwóch zmiennych o takiej samej nazwie i różnych typach. Jeśli byłoby inaczej, to jakbyś później wykonał

metoda(test)

to byłoby to niejednoznaczne.

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