Moglby ktos spojrzec czy jest wszystko dobrze ? Wyjasnic mi czemu obiekt "pablo" nie moze byc klasy osobą tylko klasy studentem? Moze dlatego ze nie mam konstruktora odpowiedniego w klasie Osoba ? Tylko ze wtedy taki sam konstruktor wymagany byl w klasie Student, a z tresci zadania klasy posiadają rózne skladowe. Oraz co to znaczy ze " klasa powinna cechowac sie zachowaniami w postaci zaimplementowanej metodzie zwracającej informacje o osobie" ?
Oto tresc: " Zaimplementuj klasę Osoba. Klasa ta powinna umożliwiać przechowywanie takich wartości jak:
imię, nazwisko, data urodzenia, płeć oraz cechować się zachowaniami w postaci
zaimplementowanej metodzie zwracającej informację o osobie. Następnie zdefiniuj klasy
dziedziczące po klasie Osoba:
- Student – klasa powinna zawierać następujące składowe:
a) pola
- nr indeksu
- typ studiów
- kierunek
- rok studiów
b) metody - zwracającą informację o studencie (należy przesłonić metodę odziedziczoną po klasie osoba).
Można w tym celu wykorzystać metodę toString()."
package osobydziedziczenieipolimorfizm;
public class Osoba {
private String imie,nazwisko,data_urodzenia,plec;
public String getImie() {
return imie;
}
(...)
public String toString(){
return "Osoba"+getImie() +getNazwisko() +getData_urodzenia()+ getPlec();
}
}
package osobydziedziczenieipolimorfizm;
public class Student extends Osoba {
private String nrIndeksu,typStudiow,kierunek,rokStudiow;
public Student(String nrIndeksu, String typStudiow, String kierunek, String rokStudiow){
this.setNrIndeksu(nrIndeksu);
this.setTypStudiow(typStudiow);
this.setKierunek(kierunek);
this.setRokStudiow(rokStudiow);
}
public String toString(){
return "Student dane:"+ getNrIndeksu()+" " + getTypStudiow()+" " + getKierunek()+" " + getRokStudiow();
}
public String getNrIndeksu() {
return nrIndeksu;
}
(...)
}
package osobydziedziczenieipolimorfizm;
public class OsobyDziedziczenieiPolimorfizm {
public static void main(String[] args) {
Osoba angela = new Osoba();
// angela.setImie("Angelika");
// System.out.println(angela.toString());
Osoba pawlo = new Student("112", "Inżynierskie", "Informatyka", "2");
System.out.println(pawlo.toString());
// pawlo = new Osoba("pawel","pipka","1996","M"); // Moje pytanie obiekt "pawlo" nie moze byyc jednoczesnie osobą ? Tylko studentem ?
}
}