Treść zadania:
Zaprojektuj klasę Punkt3D reprezentującą punkt w przestrzeni 3D.
Klasa powinna umożliwiać wczytanie punktu od użytkownika oraz zainicjowanie
punktu za pomocą konstruktora z parametrami. Powinna mieć też możliwość
wyświetlania punktu na konsoli.
Zadanie 4.
Następnie zaprojektuj klasę Wektor3D która posiada 2 pola typu Punkt3D.
Klasa powinna mieć możliwość wczytania i wyświetlania danych podobnie jak
Punkt3D. Należy posłużyć się metodami do wczytania i wyświetlania danych z klasy Punkt3D.
package dziedzieczniepunkt;
public class DziedzieczniePunkt {
public static void main(String[] args) {
// TODO code application logic here
Punkt3D punkt = new Punkt3D(1,2,3);
punkt.wyswieltDane();
}
}
Klasa Punkt3D
package dziedzieczniepunkt;
import java.util.Scanner;
public class Punkt3D {
private double x;
private double y;
private double z;
public Punkt3D(double x, double y, double z){
this.x = x;
this.y = y;
this.z = z;
}
public Punkt3D(Punkt3D punkt){
x = punkt.x;
y = punkt.y;
z = punkt.z;
}
public void pobierz(){
System.out.println("Podaj współrzędne: x, y, z: ");
Scanner odczyt = new Scanner(System.in);
x = odczyt.nextDouble();
y = odczyt.nextDouble();
z = odczyt.nextDouble();
}
public void pobierz(Punkt3D punkt){
Scanner odczyt = new Scanner(System.in);
punkt.x = odczyt.nextDouble();
punkt.y = odczyt.nextDouble();
punkt.z = odczyt.nextDouble();
}
public void wyswieltDane(){
System.out.println("(" + x + ", " + y + ", " + z + ")");
}
public void wyswietlDane(Punkt3D punkt){
System.out.println("(" + punkt.x + ", " + punkt.y + ", " + punkt.z + ")");
}
}
package dziedzieczniepunkt;
public class Wektor3D extends Punkt3D {
private Punkt3D wekA;
private Punkt3D wekB;
public Wektor3D(){ //jakie parametry
//super() ale z czym
}
}
Utknąłem w zadaniu nr 4. Skoro mam użyć metod z klasy Punk3D to klasa Wektor3D musi dziedziczyć. Pytanie jaki napisać konstruktor, metody ? Proszę o jakieś wskazówki, podpowiedzi coś co by mnie naprowadziło na dobre rozwiązanie.