Wykład 5 programy

  1. P19Abstrakcyjna.java

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

//P19Abstrakcyjna.java

package p19abstrakcyjna;

import java.util.*;

abstract class RodzinaKotowatych

{

static int i = 0;

String s;

RodzinaKotowatych()

{

i++;

s = "Ali";

}

RodzinaKotowatych(String x)

{

i++;

s = x;

}

public abstract String upoluj(String x);

public abstract void zjedz();

}

class KotyDomowe extends RodzinaKotowatych

{

private String kolor;

private String imie;

private String ofiara;

KotyDomowe(String x, String y)

{

kolor = x;

imie = y;

ofiara = "miska";

}

KotyDomowe(String x, String y, String z)

{

super("Uli");

kolor = x;

imie = y;

ofiara = z;

}

public String upoluj(String x)

{

System.out.println(this + " upolowane: " + x);

return ofiara;

}

public void zjedz()

{

this.upoluj(ofiara); // też dobrze: upoluj(ofiara);

System.out.println(this + " zjedzone: " + ofiara);

}

public String toString()

{

return i + " " + s + " Kot domowy " + imie + " " + kolor;

}

}

class KotyDuze extends RodzinaKotowatych

{

String gatunek, ofiara = "antylopa";

KotyDuze(String a)

{

super("Eli");

gatunek = a;

}

KotyDuze(String a, String b)

{

this(a);

ofiara = b;

}

public String upoluj(String x)

{

ofiara = x;

System.out.println(this + " upolowane: " + x);

return x;

}

public void wybierzOfiare(String x)

{

ofiara = x;

}

public void zjedz()

{

this.upoluj(ofiara);

System.out.println(this + " zjedzone: " + ofiara);

}

public String toString()

{

return i + " " + s + " Kot duzy " + gatunek;

}

}

public class P19Abstrakcyjna

{

public static void main(String[] args)

{

KotyDomowe fruzia = new KotyDomowe("czarny", "Fruzia");

System.out.println(fruzia);

fruzia.zjedz();

KotyDuze tygrys = new KotyDuze("Tygrys");

System.out.println(tygrys);

tygrys.zjedz();

KotyDomowe kufa=new KotyDomowe("pregowany","Kufa","mysz");

System.out.println(kufa);

kufa.zjedz();

KotyDuze lew = new KotyDuze("Lew", "zebra");

System.out.println(lew);

lew.zjedz();

KotyDuze gepard = new KotyDuze("Gepard");

System.out.println(gepard);

gepard.zjedz();

gepard.wybierzOfiare("gazela");

gepard.zjedz();

KotyDomowe tusia = new KotyDomowe("treecolor", "Tusia");

System.out.println(tusia);

tusia.zjedz();

System.out.println(fruzia);

}

}

  1. P20Sprzatanie.java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

// P20Sprzatanie.java

package p20sprzatanie;

class KotySrednie

{

private String gatunek;

static boolean zbytduzo = false;

static boolean koniec = false;

static int urodzonych = 0;

static int zaginionych = 0;

int numer;

static int l = 10000;

KotySrednie(String x)

{

gatunek = x;

numer = ++urodzonych;

if (urodzonych == 200)

System.out.println("Urodzony " + gatunek);

}

public String toString()

{

return "Kot sredni " + gatunek;

}

public void finalize()

{

if (!zbytduzo)

{

zbytduzo = true;

System.out.println("Zaczynaja ginac po "

+ urodzonych + " urodzonych kotach");

}

if (numer == l)

{

System.out.println("Zaginal kot " + l + " => Koniec narodzin");

koniec = true;

}

++zaginionych;

if (zaginionych >= urodzonych)

{

System.out.println("Katastrofa " + zaginionych +

" " + urodzonych + " " + gatunek);

}

}

}

public class P20Sprzatanie

{

public static void main(String[] args)

{

int k = 1;

while (!KotySrednie.koniec)

{

KotySrednie ff = new KotySrednie("zbik-" + k);

k++;

}

System.out.println(" Urodzonych: "

+ KotySrednie.urodzonych + " "

+ "Zaginionych: "

+ KotySrednie.zaginionych);

if (args.length > 0)

{

if (args[0].equals("gc"))

{

System.gc();

System.out.println(" (gc) Urodzonych: "

+ KotySrednie.urodzonych

+ " "

+ " Zaginionych: "

+ KotySrednie.zaginionych);

}

}

}

}

  1. P21Polimorfizm.java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

// P21Polimorfizm.java

package p21polimorfizm;

import java.util.*;

abstract class RodzinaKoty

{

static int i = 0;

RodzinaKoty()

{

i++;

}

public static String bawSie(RodzinaKoty x, String y)

{

return x + " bawi się " + y;

}

public String mojeImie()

{

return "RodzinaKoty";

}

public abstract String upoluj(String x);

public abstract void zjedz();

}

class Kotek extends RodzinaKoty

{

String czyj, imie, ofiara = "miska";

int ktory;

Kotek(String x, String y)

{

imie = x;

czyj = y;

ktory = i;

}

public String upoluj(String x)

{

System.out.println(this + " upolowane: " + x);

return x;

}

public void zjedz()

{

upoluj(ofiara);

System.out.println(this + " zjedzone: " + ofiara);

}

public String toString()

{

return "Kotek " + ktory + " " + czyj + ", " + imie;

}

String spij()

{

return "Śpię 1 godzinę";

}

}

class Koteczek extends RodzinaKoty

{

String czyj, imie, kolor, ofiara = "dwie miski";

int ktory;

Koteczek(String x, String y)

{

imie = x;

kolor = y;

czyj = "Ali";

ktory = i;

}

public String upoluj(String x)

{

System.out.println(this + " upolowane: " + x);

return x;

}

public void zjedz()

{

upoluj(ofiara);

System.out.println(this + " zjedzone: " + ofiara);

}

public String toString()

{

return "Koteczek " + ktory + ", " + czyj + ", " +

imie + ", " + kolor;

}

String spij()

{

return "Śpię 2 godziny";

}

public String mojeImie()

{

return "Jednak koteczek";

}

}

public class P21Polimorfizm

{

public static void main(String[] args)

{

Kotek a1 = new Kotek("Mruczek", "Oli");

Kotek a2 = new Kotek("Mruczek", "Toli");

System.out.println(a1);

System.out.println(a2);

Koteczek a3 = new Koteczek("Mruczek", "czarny");

Koteczek a4 = new Koteczek("Mruczek", "laciaty");

System.out.println(a3);

System.out.println(a4);

System.out.println();

// Rzutowanie w górę hierarchii klas - argument a1

String x1 = RodzinaKoty.bawSie(a1, " kulką");

System.out.println(x1);

// Rzutowanie w górę hierarchii klas - argument a3

String x3 = RodzinaKoty.bawSie(a3, " piłką");

System.out.println(x3);

System.out.println();

// Rzutowanie w górę hierarchii klas - może być niejawne

RodzinaKoty a5 = new Kotek("Malutek", "Oli");

RodzinaKoty a6 = new Koteczek("Fruzia", "laciaty");

//Polimorfizm

a5.zjedz();

a6.zjedz();

System.out.println();

// Wykonanie metod z klas wywiedzionych

// a5.spij(); // Błąd kompilacji

// a6.spij(); // Błąd kompilacji

//Rzutowanie w dół hierarchii klas - musi być jawne

String x5 = ((Kotek) a5).spij();

System.out.println(a5 + " " + x5);

String x6 = ((Koteczek) a6).spij();

System.out.println(a6 + " " + x6);

System.out.println();

//Rzutowanie w górę i nadpisywanie metod

Koteczek x7 = new Koteczek("Kufa", "pregowany");

System.out.println(x7);

RodzinaKoty x8 = new Koteczek("Melek", "bury");

System.out.println(x8);

System.out.println(x7.mojeImie() + " " + x8.mojeImie());

System.out.println();

Kotek x9 = new Kotek("Felek", "pregowany");

System.out.println(x9);

RodzinaKoty x10 = new Kotek("Baton", "bury");

System.out.println(x10);

System.out.println(x9.mojeImie() + " " + x10.mojeImie());

}

}

  1. P22Interfejsy.java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

// P22Interfejsy.java

package p22interfejsy;

interface WszystkieKoty

{

String cecha = " - to wolne stworzenie"; // final static String

// automatycznie statyczna i ostateczna,

// stala czasu kompilacji

// kot nawet w niewoli jest wolny

String polowanie(String x);// abstract public String
//polowanie(String x);

// String polowanie(); zle jesli w klasach
//imlementujących jest argument

void jedzenie(); // abstract public jedzenie();

}

class NaszeDomowe implements WszystkieKoty

{

String imie;

static final String ofiara = "miska";

NaszeDomowe(String a)

{

imie = a;

System.out.println("Cecha: " + imie + cecha);

}

public String polowanie(String x)

{

// ofiara = x; - blad

System.out.println(imie + " upoluj: " + x);

return ofiara;

}

public void jedzenie()

{

System.out.println(imie + ", zjedzone: " + ofiara);

}

}

class PozostaleKoty implements WszystkieKoty

{

String rodzaj;

String ofiara = "ofiara: wybrana przez kota";

PozostaleKoty(String a)

{

rodzaj = a;

System.out.println("Cecha: " + rodzaj + cecha);

}

PozostaleKoty(String a, String b)

{

rodzaj = a;

ofiara = b;

System.out.println("Cecha: " + rodzaj + cecha);

}

public String polowanie(String x)

{

ofiara = x;

System.out.println(rodzaj + ", upoluj: " + x);

return x;

}

public void jedzenie()

{

System.out.println(rodzaj + ", zjedzone: " + ofiara);

}

}

public class P22Interfejsy

{

public static void main(String[] args)

{

NaszeDomowe a = new NaszeDomowe("Fruzia");

a.jedzenie();

System.out.println();

PozostaleKoty b = new PozostaleKoty("ocelot");

b.jedzenie();

System.out.println();

PozostaleKoty c = new PozostaleKoty("gepard", "gazela");

c.jedzenie();

System.out.println();

PozostaleKoty d = new PozostaleKoty("lew");

d.jedzenie();

String odp1 = d.polowanie("antylopa");

System.out.println("Upolowane: " + odp1);

d.jedzenie();System.out.println();

NaszeDomowe e = new NaszeDomowe("Kacper");

String odp2 = e.polowanie("mysz");

System.out.println("Upolowane: " + odp2);

e.jedzenie();

System.out.println("---------------------");

// Referencje f,g - interfejsy

// Polimorfizm

WszystkieKoty f = new NaszeDomowe("Fruzia");

f.jedzenie();

System.out.println();

WszystkieKoty g = new PozostaleKoty("ocelot");

g.jedzenie();

}

}

  1. P23Interfejs.java

1

2

3

4

5

6

7

8

9

10

11

12

13

// TablicaZodiak.java - Interfejs 1

package P23Interfejs;

import java.util.*;

public interface TablicaZodiak

{

String[] ZODIAK = { "Zle dane", "Koziorozec", "Wodnik",

"Ryby", "Baran", "Byk", "Bliznieta",

"Rak", "Lew", "Panna", "Waga",

"Skorpion", "Strzelec"

};

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

// MiesiacDzien.java - Interfejs 2

package P23Interfejs;

import java.util.*;

public interface MiesiacDzien

{

int[][] nr_znaku =

{

{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},

{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,

1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2},

{0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,

2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0},

{0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,

3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},

{0, 4, 4, 4, 4, 4, 4, 4,4 , 4, 4, 4, 4, 4, 4, 4, 4, 4,

4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0},

{0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,

5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6},

{0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,

6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0},

{0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,

7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8},

{0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,

8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9},

{0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,

9, 9, 9, 9, 9,10,10,10,10,10,10,10,10, 0},

{0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,

10,10,10,10,10,11,11,11,11,11,11,11,11,11},

{0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,

11,11,11,11,12,12,12,12,12,12,12,12,12, 0},

{0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,

12,12,12,12,12, 1, 1, 1, 1, 1, 1, 1, 1, 1}

};

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

// P23Interfejs.java

package P23Interfejs;

import java.util.*;

public class P23Interfejs implements TablicaZodiak,MiesiacDzien

{

public static void main(String[] args)

{

int k1 = MiesiacDzien.nr_znaku[1][1];

System.out.println(TablicaZodiak.ZODIAK[k1]);

int k2 = MiesiacDzien.nr_znaku[2][31];

System.out.println(TablicaZodiak.ZODIAK[k2]);

int k3 = MiesiacDzien.nr_znaku[6][5];

String znak_zodiaku =

new String(TablicaZodiak.ZODIAK[k3]);

System.out.println(znak_zodiaku);

int k4 = MiesiacDzien.nr_znaku[4][31];

System.out.println(TablicaZodiak.ZODIAK[k2]);

}

}


Wyszukiwarka

Podobne podstrony:
Wykład 4 programy
Wykład 8 programy
Ekonomia wykłady program PS1
Wykład 2 programy
wyklad c++, Programowanie
Wykład 1 + program wykładów RACH KOSZ projekt 2012
Jadczak R - Badania operacyjne Wykład 3, programowanie całkowitoliczbowe
Wykład 1 Program, literatura, warunki zaliczenia, definicje
Zadania dodatkowe, studia wsiz, semestr 1 2, programowanie LAB wyklad, Programowanie, BFryc, 1IID, Z
Laboratorium nr 2 tablice, studia wsiz, semestr 1 2, programowanie LAB wyklad, Programowanie, BFryc,
WYKŁAD 3 program badan prenatalnych
WYKŁAD 1 Program przedmiotu nauki
Wykład 1 + program wykładów PROGRAM WYKŁADÓW 2013
infa wykłady Programowanie w języku C# Informatyka wykład
Wykład 6 programy
wykład programypolitykizdrowotnej
Wykład 3 Programowanie Definicje
wyklad1, Programowanie, C++
Wykład z programowania obiektowego, Informatyka, Semsetr 2, Programowanie obiektowe
Delphi - Wykłady, Programowanie, Delphi

więcej podobnych podstron