Hej. Mam taki problem, jak stworzyć tablicę w której były by obiekty różnych klas, które jednak dziedziczą po tej samej?
Mam mieć w tablicy studenta zaocznego i studenta dziennego onidziedziczą po studencie.
[Java] Tablica z dwoma typami danych.
- lightinside
- Użytkownik
- Posty: 796
- Rejestracja: 25 lis 2011, o 22:25
- Płeć: Kobieta
- Lokalizacja: Poznań/Łódź
- Podziękował: 111 razy
- Pomógł: 29 razy
[Java] Tablica z dwoma typami danych.
Ostatnio zmieniony 16 cze 2014, o 17:55 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Powód: Poprawa wiadomości.
-
- Użytkownik
- Posty: 171
- Rejestracja: 29 gru 2013, o 17:41
- Płeć: Kobieta
- Lokalizacja: Pruszków
- Pomógł: 64 razy
[Java] Tablica z dwoma typami danych.
Wystarczy, że stworzysz tablicę typu Student, stworzysz obiekty klas potomnych (student dzienny, student zaoczny) i wstawisz je do tej tablicy.
- lightinside
- Użytkownik
- Posty: 796
- Rejestracja: 25 lis 2011, o 22:25
- Płeć: Kobieta
- Lokalizacja: Poznań/Łódź
- Podziękował: 111 razy
- Pomógł: 29 razy
[Java] Tablica z dwoma typami danych.
A jak zrobić by dało radę przechowywać w tej tablizy imie przykładowo?
To jest moja główna klasa i tu wywołuje trzy klasy. W studencie mam pole imie student dzienny je dziedziczy.
Gdy chce je zapisać do tablicy to mam taki błąd:
Jak to naprawić? Chce w jakiś sposób wyświetlać i zapisywać do tablicy, też imie etc danego studenta. gdy pisałam:
Dostawałam tylko nazwę klasy i chyba adres
Kod: Zaznacz cały
import student.*;
public class aplikacja{
public static void main(String args[])
{
student[][] a = new student[3][9];
studentdzienny st1 = new studentdzienny();
studentzaoczny st2 = new studentzaoczny();
a[0][0]=st1.imie;
a[1][0]=st2;
System.out.println("Student to "+a[1][0]);
}
}
Gdy chce je zapisać do tablicy to mam taki błąd:
Kod: Zaznacz cały
C:JAVA PROGRAMStudenci>javac *.java
aplikacja.java:10: error: incompatible types
a[0][0]=st1.imie;
^
required: student
found: String
1 error
Kod: Zaznacz cały
a[0][0]=st1;
-
- Użytkownik
- Posty: 171
- Rejestracja: 29 gru 2013, o 17:41
- Płeć: Kobieta
- Lokalizacja: Pruszków
- Pomógł: 64 razy
[Java] Tablica z dwoma typami danych.
Ta tablica może zawierać w sobie tylko obiekty typu student, albo dziedziczące po nim. Nie może zawierać Stringów - a takiego typu jest imię. Dlaczego chcesz wstawić tam imię? Czemu tablica jest dwuwymiarowa? Przecież jeśli zrobisz tablicę jednowymiarową (dla uproszczenia) i wstawisz po prostu studenta, to możesz się odwołać do imienia studenta na pozycji 0 w tablicy przez
a[0].imie