~/Java-wyklad-przyklady/w9/P57Param.java.html
1 class Dwie {
2 int x,y;
3 Dwie (int a,int b){
4 x=a;
5 y=b;
6 }
7 }
8 class Trzy extends Dwie{
9 int z;
10 Trzy(int a, int b, int c){
11 super(a,b);
12 z = c;
13 }
14 }
15 class Cztery extends Trzy{
16 int v;
17 Cztery(int a, int b, int c, int d){
18 super(a,b,c);
19 v = d;
20 }
21 }
22 class TabOdDwie <Typ extends Dwie>{
23 Typ[] tab;
24 TabOdDwie(Typ[] t){
25 tab = t;
26 }
27 }
28
29 public class P57Param {
30 static public void main(String[] argv){
31 Dwie[] tabDwie = {new Dwie(0,0),new Dwie(1,2)};
32 TabOdDwie<Dwie> tD = new TabOdDwie<Dwie>(tabDwie);
33 drukujDwie(tD);
34 //drukujTrzy(tD); Błąd kompilacji
35 System.out.println("-------");
36
37 Trzy[] tabTrzy = {new Trzy(0,0,0), new Trzy(10,11,12)};
38 TabOdDwie<Trzy> tT = new TabOdDwie<Trzy>(tabTrzy);
39 drukujTrzy(tT);
40 drukujDwie(tT);
41
42 System.out.println("-------");
43
44 Cztery[] tabCztery = {new Cztery(0,0,0,0),
45 new Cztery(100,101,102,103)};
46 TabOdDwie<Cztery> tC = new TabOdDwie<Cztery>(tabCztery);
47 drukujCztery(tC);
48 drukujTrzy(tC);
49 drukujDwie(tC);
50
51 System.out.println("-------");
52
53 }
54 static void drukujDwie(TabOdDwie<?> t){
55 System.out.println("Dwie");
56 for(int i = 0; i < t.tab.length; i++){
57 System.out.println(t.tab[i].x + " " + t.tab[i].y);
58 }
59 }
60 static void drukujTrzy(TabOdDwie<?extends Trzy> t){
61 System.out.println("Trzy");
62 for(int i = 0; i < t.tab.length; i++){
63 System.out.println(t.tab[i].x + " "
64 + t.tab[i].y + " "
65 + t.tab[i].z);
66 }
67 }
68 static void drukujCztery(TabOdDwie<?extends Cztery> t){
69 System.out.println("Cztery");
70 for(int i = 0; i < t.tab.length; i++){
71 System.out.println(t.tab[i].x + " "
72 + t.tab[i].y + " "
73 + t.tab[i].z + " "
74 + t.tab[i].v);
75 }
76 }
77
78 }
79
Wyszukiwarka