Wykład 2
Dziedziczenie - Tablice zawierające obiekty Przykład 1
import javax.swing.*;
import java.util.*;
class Osoba1 {
static int ile_obiektow = 0;
public Osoba1()
{ System.out.println("Osoba1");}
public void Inicjuj() { ile_obiektow++;}
public void Wstaw() { String S;
Inicjuj(); }
public void Wyswietl() {String napis="";
napis+="\n Liczba osób jest równa "+ile_obiektow;
JOptionPane.showMessageDialog(null, napis);
}
class Osoba2 extends Osoba1 { String nazwisko;
Osoba2() { super();
System.out.println("Osoba2");}
public void Nadaj_nazwisko(String lan) { nazwisko=lan;}
public String Podaj_nazwisko() {return nazwisko;}
public void Wstaw() { super.Wstaw();
String S;
S = JOptionPane.showInputDialog(null, "Podaj nazwisko");
Nadaj_nazwisko(S);
}
public void Wyswietl() { String napis="";
napis+="\n Nazwisko: "+nazwisko;
JOptionPane.showMessageDialog(null, napis);
super.Wyswietl();
} }
public class Tablica_osob_nazwisko { static int N=2;
static public void main(String args[]) { Osoba2 Dane[] = new Osoba2[N];
int ile;
for (ile=0; ile<Dane.length;ile++) { Dane[ile]=new Osoba2();
Dane[ile].Wstaw();
}
for (int i=0; i<ile;i++) Dane[i].Wyswietl();
System.exit(0);
} }
Przykład 2
import javax.swing.*;
import java.util.*;
class Osoba1 {
static int ile_obiektow = 0;
public Osoba1()
{System.out.println("Osoba1");}
public void Inicjuj() {ile_obiektow++;}
public void Wstaw() { String S;
Inicjuj();
}
public void Wyswietl() { String napis="";
napis+="\n Liczba osób jest równa "+ile_obiektow;
JOptionPane.showMessageDialog(null, napis);
} }
class Osoba2 extends Osoba1 { String nazwisko;
Osoba2() { super();
System.out.println("Osoba2");}
public void Nadaj_nazwisko(String lan) { nazwisko=lan;}
public String Podaj_nazwisko() { return nazwisko;}
public void Wstaw() { super.Wstaw();
String S;
S = JOptionPane.showInputDialog(null, "Podaj nazwisko");
Nadaj_nazwisko(S);
}
public void Wyswietl() { String napis="";
napis+="\n Nazwisko: "+nazwisko;
JOptionPane.showMessageDialog(null, napis);
super.Wyswietl();
} }
class Osoba3 extends Osoba2 { float srednia;
String uwagi;
public void Nadaj_uwagi(String lan) { uwagi=lan;}
public String Podaj_uwagi() { return uwagi;}
public void Nadaj_srednia(float srednia_) { srednia=srednia_;}
public float Podaj_srednia() { return srednia;}
public void Wstaw() { String S;
super.Wstaw();
S = JOptionPane.showInputDialog(null, "Podaj srednia");
Nadaj_srednia(Float.parseFloat(S));
S =JOptionPane.showInputDialog(null, "Podaj uwagi");
Nadaj_uwagi(S);
public void Wyswietl() { super.Wyswietl();
String napis="";
napis+="\n Średnia: "+srednia;
napis+="\n Uwagi: "+uwagi;
JOptionPane.showMessageDialog(null, napis);
} }
public class Tablica_osob_nazwisko { static int N=2;
static public void main(String args[]) { Osoba3 Dane[] = new Osoba3[N];
int ile;
for (ile=0; ile<Dane.length;ile++) { Dane[ile]=new Osoba3();
Dane[ile].Wstaw();
}
for (int i=0; i<ile;i++) Dane[i].Wyswietl();
System.exit(0);
} }