Witam. Mam problem z zadaniem o następującej treści:
Zdefiniuj klasę Kwadrat o polu prywatnym bok typu całkowitego i metodach publicznych:
• konstruktor bez parametrów, który umożliwia utworzenie kwadratu o boku 1
• konstruktor z parametrem(int bok),
• konstruktor kopiujący z parametrem – obiektem klasy Kwadrat,
• metody zwrocBok()
• metodę pole()
Zdefiniuj klasę Prostopadloscian dziedziczącą po klasie Kwadrat i mającą dodatkowo pole wysokość, metodę zwrocWysokosc(), metodę pole() i konstruktory: bez parametrów , który umożliwia utworzenie prostopadłościanu o boku podstawy 1 i wysokości 1, i z parametrami oraz konstruktor z parametrem klasy Prostopadłościan.
Napisz aplikację, w której wczytasz dane z pliku tekstowego - dane czytane do końca pliku. W kolejnych wierszach dane: liczba 1 lub 2 (1- kwadrat, 2-prostopadłoscian), a następnie oddzielone spacjami, w przypadku kwadratu bok zaś w przypadku prostopadłościanu bok i wysokość. Wypisz na ekranie monitora typ figury, parametry charakteryzujące ją i pole powierzchni.
Zastosuj obsługę wyjątków. Zdefiniuj własną klasę Dane dziedzicząca po Exception z dwoma konstruktorami bez parametrów i z parametrem typu String – komunikat. Wykorzystaj tę klasę do obsługi sytuacji wyjątkowych: ujemny lub zerowy bok i ujemna lub zerowa wysokość. Obsłuż błędy IO i błąd złego typu danych.
Mój pierwszy problem napotkałem na tworzeniu konstruktorów w klasie dziedziczącej, bo wydaje mi się że dobrze zostały stworzone w klasie nadrzędnej(Kwadrat).
Kod Kwadrat:
public class Kwadrat {
private int bok;
public Kwadrat(){
bok = 1;
}
public Kwadrat(int bok){
this.bok = bok;
}
public Kwadrat(Kwadrat kwadrat){
bok = kwadrat.bok; < - - - - - dobrze??
}
public zwrocBok(){
return bok;
}
public pole(){
return this.bok*this.bok;
}
}
Kod Prostopadloscian:
public class Prostopadloscian extends Kwadrat {
private int wysokosc;
public Prostopadloscian(){
bok = 1; ????? jak uzyskać dostęp skoro to jest private czy po prostu to jest tutaj zbędne?
wysokosc = 1;
}
public Prostopadloscian(int bok, int wysokosc){
super(bok);
this.wysokosc = wysokosc;
}
public Prostopadloscian(Prostopadloscian prosto){
????? w jaki sposób utworzyć ten konstruktor?
}
}
Proszę również o jakieś wyjaśnienie w jaki sposób i za pomocą czego mam wczytać te dane z pliku i rozwiązać tą cześć zadania odpowiedzialną za pliki. Z góry dziękuję.