Workshop zum Programmingwiki/Objektorientierte Programmierung (Java)
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
== Objektorientierte Programmierung ==
=== Technische Voraussetzungen ===
Zur Objektorientierten Programmierung in Java ist die Policy-Datei
* <tt>JavaPolicy.class</tt>
erforderlich. Entsprechende Hinweise findet man unter: [[JavaPolicy]]
=== Definition der Klasse ''Bruch''===
<code id="5143a88bf2d62">
public class Bruch {
protected int z;
protected int n;
public Bruch(int z, int n) {
if (n < 0) {
z = -z; n = Math.abs(n);
}
this.z = z;
this.n = n;
}
public int Zaehler() {
return z;
}
public int Nenner() {
return n;
}
public double Dezimal() {
return (double)z / n;
}
public void Reziprok() {
int h = z; z = n; n = h;
if (n < 0) {
z = -z; n = Math.abs(n);
}
}
public void Ausgabe() {
System.out.println(z + "/" + n);
}
}
</code>
=== Instanz der Klasse ''Bruch''===
<run id="5143a88bf2e2c">
Bruch1 = new Bruch(3, 7);
System.out.print("Bruch1: "); Bruch1.Ausgabe();
System.out.println("Dezimalbruch1: " + Bruch1.Dezimal());
</run>
=== Vererbung ===
<code id="5143a88bf2dc4">
public class GekuerztBruch extends Bruch {
public GekuerztBruch(int z, int n) {
super(z, n);
}
private int ggT(int m, int n) {
if (n == 0)
return m;
else
return ggT(n, m % n);
}
public void Kuerzen() {
int teiler = ggT(z, n);
z = z / teiler;
n = n / teiler;
}
}
</code>
<run id="5143a88bf2e81">
Bruch2 = new GekuerztBruch(6, 8);
System.out.print("Bruch2, ungekürzt: "); Bruch2.Ausgabe();
Bruch2.Kuerzen();
System.out.print("Bruch2, gekürzt : "); Bruch2.Ausgabe();
</run>
Zurück zum [[Workshop zum Programmingwiki]].