Block6, Aufgabe 3: Vererbung, Interfaces

Werbung
1
Block6, Aufgabe 1: Interfaces
Implementieren Sie in der Klasse Person das Interface Testschnittstelle:
//Datei Testschnittstelle.java
interface Testschnittstelle
{
public void print ();
}
Die Methode print() soll die Werte aller Datenfelder eines Objektes ausgeben.
Die Lösung ist:
import java.io.*;
class Person implements Testschnittstelle
{
private String name;
private String vorname;
Person()
{
try
{
byte[] eingabe = new byte [80];
System.out.print ("\nGeben Sie den Nachnamen ein: ");
System.in.read (eingabe);
name = new String (eingabe);
eingabe = new byte[80];
System.out.print ("\nGeben Sie den Vornamen ein: ");
System.in.read (eingabe);
vorname = new String (eingabe);
}
catch (IOException e)
{
System.out.println ("Eingabefehler");
System.exit(1);
}
}
public void print()
{
System.out.print ("\nNachname: "+name);
System.out.print ("\nVorname: "+vorname);
}
}
Verwenden Sie zum Testen die Klasse TestPerson:
//Datei: TestPerson.java
Lösungen Java-Kurs Block 6 – Interfaces
1
2
class TestPerson
{
public static void main (String args[])
{
Person refPerson = new Person();
refPerson.print();
}
}
Block6, Aufgabe 2:
Interfaces
Die Lösung ist:
//Datei TestGeraete.java
class TestGeraete
{
public static void main (String[] args)
{
Laserdrucker l1 = new Laserdrucker();
Laserdrucker l2 = new Laserdrucker();
Faxgeraet f1 = new Faxgeraet();
Faxgeraet f2 = new Faxgeraet();
Kombigeraet k1 = new Kombigeraet();
Kombigeraet k2 = new Kombigeraet();
f1.senden ("Dies ist ein Test");
f2.senden ("Dies ist ein Test");
l1.drucken ("Dies ist ein Test");
l2.drucken ("Dies ist ein Test");
k1.senden ("Dies ist ein Test");
k2.senden ("Dies ist ein Test");
k1.drucken ("Dies ist ein Test");
k2.drucken ("Dies ist ein Test");
}
}
//Datei: Fax.java
interface Fax
{
void senden (String sendeRef);
}
//Datei: Drucker.java
interface Drucker
{
void drucken (String druckRef);
}
Lösungen Java-Kurs Block 6 – Interfaces
2
3
//Datei: Geraet.java
abstract class Geraet
{
String geraeteId;
}
//Datei: Faxgeraet.java
class Faxgeraet extends Geraet implements Fax
{
static int id = 0;
Faxgeraet()
{
id++;
geraeteId = "Fax"+id;
}
public void senden (String sendeRef)
{
System.out.println ("\nAbsender ist: " + geraeteId);
System.out.println ("\nDas Senden wird simuliert");
System.out.println (sendeRef);
}
}
//Datei: Laserdrucker.java
class Laserdrucker extends Geraet implements Drucker
{
static int id = 0;
Laserdrucker()
{
id++;
geraeteId = "Laser"+id;
}
public void drucken (String druckRef)
{
System.out.println ("\nDrucker " + geraeteId + " meldet sich");
System.out.println ("\nEs wird gedruckt");
System.out.println (druckRef);
}
}
//Datei: Kombigeraet.java
class Kombigeraet extends Geraet implements Drucker, Fax
{
static int id = 0;
Kombigeraet()
{
id++;
geraeteId = "Kombigeraet"+id;
Lösungen Java-Kurs Block 6 – Interfaces
3
4
}
public void drucken (String druckRef)
{
System.out.println ("\nKombigeraet " + geraeteId + " meldet sich");
System.out.println ("\nEs wird gedruckt");
System.out.println (druckRef);
}
public void senden (String sendeRef)
{
System.out.println ("\nAbsender ist: " + geraeteId);
System.out.println ("\nDas Senden wird simuliert");
System.out.println (sendeRef);
}
}
Block6, Aufgabe 3: Vererbung, Interfaces
Die Lösung ist:
public interface Adressierbar
{
public void setEmpfaenger (String[] adresse);
public String[] getEmpfaenger ();
}
public interface Versendbar extends Adressierbar
{
public void setAbsender (String[] absender);
public String[] getAbsender ();
public int getGewicht();
}
public class Postamt
{
public void versende (Versendbar v)
{
System.out.print("Sendung wurde entgegengenommen ");
System.out.println (" und wird jetzt versandt.");
String[] abs = v.getAbsender();
String[] emp = v.getEmpfaenger();
System.out.print("Absender: ");
for (int i=0; i<abs.length; i++)
{
System.out.print( abs[i] );
System.out.print("\t");
}
Lösungen Java-Kurs Block 6 – Interfaces
4
5
System.out.print("\nEmpfaenger: ");
for (int i=0; i<emp.length; i++)
{
System.out.print( emp[i] );
System.out.print("\t");
}
}
}
public class Start
{
public static void main (String[] args)
{
int gewicht = 80;
String[] an = {"Thomas Vollmer",
"Flandernstrasse 101", "73730 Esslingen"};
String[] von = {"Bernhard Hirschmann",
"Hoelderlinweg 161", "73728 Esslingen"};
Sendung brief = new Sendung(an, von, gewicht);
Postamt post = new Postamt();
post.versende(brief);
}
}
public class Sendung implements Versendbar
{
private String[] absender;
private String[] empfaenger;
private int gewicht;
public Sendung(String[] emp, String[] abs, int gew)
{
empfaenger = emp;
absender = abs;
gewicht = gew;
}
public void setEmpfaenger(String[] adresse)
{
empfaenger = adresse;
}
public String[] getEmpfaenger()
{
return empfaenger;
}
public void setAbsender(String[] adresse)
{
absender = adresse;
}
Lösungen Java-Kurs Block 6 – Interfaces
5
6
public String[] getAbsender()
{
return absender;
}
public int getGewicht()
{
return gewicht;
}
public void setGewicht (int g)
{
gewicht = g;
}
}
Lösungen Java-Kurs Block 6 – Interfaces
6
Herunterladen