klassen2:constructors:start
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
klassen2:constructors:start [2020/11/29 20:00] – [Beispiel 1: Würfel] Martin Pabst | klassen2:constructors:start [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Konstruktoren ====== | ====== Konstruktoren ====== | ||
+ | |||
+ | {{youtube> | ||
+ | |||
Wir haben inzwischen schon viele Objekte instanziert, | Wir haben inzwischen schon viele Objekte instanziert, | ||
< | < | ||
Zeile 57: | Zeile 60: | ||
===== Beispiel 2: Buntstift ===== | ===== Beispiel 2: Buntstift ===== | ||
+ | Schau' Dir das folgende Beispielprogramm an und überlege Dir, an welchen Stellen des Programms der Konstruktor '' | ||
< | < | ||
Zeile 66: | Zeile 69: | ||
Buntstift rotstift = new Buntstift(Color.red); | Buntstift rotstift = new Buntstift(Color.red); | ||
rotstift.schreibe(" | rotstift.schreibe(" | ||
+ | |||
Buntstift grünstift = new Buntstift(Color.lime); | Buntstift grünstift = new Buntstift(Color.lime); | ||
grünstift.schreibe(" | grünstift.schreibe(" | ||
Zeile 175: | Zeile 179: | ||
</ | </ | ||
- | ===== Beispiel | + | ===== Beispiel |
+ | Die Klasse '' | ||
< | < | ||
Zeile 181: | Zeile 187: | ||
<script type=" | <script type=" | ||
- | PolynomZweitenGrades p = new PolynomZweitenGrades(1, | + | PolynomZweitenGrades p = new PolynomZweitenGrades(1, |
println(" | println(" | ||
println(" | println(" | ||
Zeile 204: | Zeile 210: | ||
</ | </ | ||
- | Die Klasse '' | ||
- | ===== Aufgabe: Die Klasse Bruch ===== | + | ===== Aufgabe |
Im vorhergehenden Kapitel haben wir eine [[[klassen2: | Im vorhergehenden Kapitel haben wir eine [[[klassen2: | ||
<code myJava> | <code myJava> | ||
Zeile 224: | Zeile 229: | ||
<script type=" | <script type=" | ||
+ | Bruch b1 = new Bruch(4, 3); | ||
+ | Bruch b2 = new Bruch(1, 2); | ||
+ | b1.ausgabeUnecht(); | ||
+ | b1.ausgabeEcht(); | ||
+ | b1.mal(b2); | ||
+ | b1.ausgabeUnecht(); | ||
+ | |||
+ | class Bruch { | ||
+ | |||
+ | int z; | ||
+ | int n; | ||
+ | |||
+ | // Hier fehlt der Konstruktor! | ||
+ | |||
+ | | ||
+ | println(z + "/" | ||
+ | } | ||
+ | |||
+ | | ||
+ | |||
+ | int a1 = z; | ||
+ | |||
+ | if(Math.abs(z) >= n) { | ||
+ | int ganzerAnteil = z / n; | ||
+ | a1 = z - ganzerAnteil * n; | ||
+ | if(a1 < 0) { | ||
+ | a1 = -a1; | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | | ||
+ | println(a1 + "/" | ||
+ | | ||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | z = z * b2.z; | ||
+ | n = n * b2.n; | ||
+ | |||
+ | kürze(); | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | z = z * b2.n; | ||
+ | n = n * b2.z; | ||
+ | |||
+ | kürze(); | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | |||
+ | // a/b + c/d = (a*d)/(b*d) + (c*b)/(d*b) = (a*d + c*b)/(b*d) | ||
+ | |||
+ | z =(z * b2.n + b2.z * n); | ||
+ | n = n * b2.n; | ||
+ | |||
+ | kürze(); | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | |||
+ | // a/b - c/d = (a*d)/(b*d) - (c*b)/(d*b) = (a*d - c*b)/(b*d) | ||
+ | |||
+ | z =(z * b2.n - b2.z * n); | ||
+ | n = n * b2.n; | ||
+ | |||
+ | kürze(); | ||
+ | |||
+ | } | ||
+ | |||
+ | | ||
+ | | ||
+ | for(int i = 2; i <= Math.sqrt(Math.abs(z)); | ||
+ | |||
+ | if(z % i == 0 && n % i == 0) { | ||
+ | z = z / i; | ||
+ | n = n / i; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | } | ||
</ | </ | ||
Zeile 230: | Zeile 323: | ||
</ | </ | ||
[[.loesung: | [[.loesung: | ||
+ | |||
+ | ===== Aufgabe 2: Die Klasse Tier ===== | ||
+ | Füge der [[klassen2: | ||
+ | <code myJava> | ||
+ | Tier p = new Tier(" | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | <div class=" | ||
+ | |||
+ | <script type=" | ||
+ | Tier p = new Tier(" | ||
+ | p.vorstellen(); | ||
+ | |||
+ | class Tier { | ||
+ | | ||
+ | | ||
+ | int beinzahl; | ||
+ | |||
+ | // Hier fehlt der Konstruktor! | ||
+ | |||
+ | void vorstellen(){ | ||
+ | println(" | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | [[.loesung: |
klassen2/constructors/start.1606676407.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)