PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ein paar Fragen zu Java ...


Unregistered
2003-04-28, 23:38:59
Hab da mal ei paar Dinge :


1.) Wodurch kann in Java eine Programmierung eines GUI unabhängig von der Plattform erfolgen ?

2.) gegeben sei :

abstrakt class person {
String name;
Person(String name, int alter){this.name=name;
this.alter=alter;}
String getFirma(){return"Text";}
int.getAlter();
}

2a)Ich will die Klassensignatur einer Klasse "Mitarbeiter" angeben, welche eine Implementierung / Vererbung der Klasse "personen" ist.

Geht das mit class mitarbeiter extends personen ?

2b)Was muss in der Implementierung noch umgesetzt werden, damit "Mitarbeiter" eine Klasse ist, von der Objekte erzeugt werden können ?

mit private Klasse ?

2c)Wie und wo kann in der Klasse "Mitarbeiter" der Konstruktor der Klasse "Personen" aufgerufen werden ?

2d)Die Methode getFirma() soll zu einer Klassenmethode werden, wie ist die Methode zu ändern und wie wird die Methode aufgerufen ?

3.) Was sind die 2 wichtigsten Unterschiede zwischen einer abstrakten Klasse und einem Interface ?

4.) Wofür nutzt man Java - Interface - Klassen ?

5. ) Was ist nochmal der Unterschied zwischen Überladen und Überschreiben ? Könnt ihr mir Beispiele nennen ?


Vielen Dank !

Abe Ghiran
2003-04-29, 00:05:07
Hoi, hoi...

zu 1.) Wodurch kann in Java eine Programmierung eines GUI unabhängig von der Plattform erfolgen ?

Das liegt an der schönen Klassenbibliothek, die entweder so wenige verschiedene Gui Elemente bereitstellt, das die JVM das auf jedem ZielSystem an das OS weiterleiten kann (AWT) oder aber alle Gui Elemente selber zeichnet (SWING), dann braucht die JVM nur noch eine Methode vom Betriebssystem, mit dem sie einzelne Pixel malen kann (kann wohl jedes OS mit GUI ;)).


2a) yep (oben steht extends personEN statt person aber ich denke mal das war ein tipfehler)


2b)Was muss in der Implementierung noch umgesetzt werden, damit "Mitarbeiter" eine Klasse ist, von der Objekte erzeugt werden können ?

mit private Klasse ? -> ???

Mitarbeiter muß "getAlter" implementieren, die ist in person noch abstrakt (hat keinen methodenrumpf und damit keine implementierung)


2c)Wie und wo kann in der Klasse "Mitarbeiter" der Konstruktor der Klasse "Personen" aufgerufen werden ?

Im Konstruktor von Mitarbeiter, als erste Anweisung mit super(). Hier genauer super(String, int), weil der Konstruktor aus person ja die beiden Parameter haben will.


2d)Die Methode getFirma() soll zu einer Klassenmethode werden, wie ist die Methode zu ändern und wie wird die Methode aufgerufen ?

Ändern zu static String getFirma()...
Aufruf über person.getFirma() (statt "irgendeine Instanz von person".getFirma())


3.) Was sind die 2 wichtigsten Unterschiede zwischen einer abstrakten Klasse und einem Interface ?

Hmmm, benutzt man jeden Tag und dann so ne Frage.... Interfaces bieten Mehrfachvererbung, dafür darf ich da noch keine Implementierung reinpacken


4.) Wofür nutzt man Java - Interface - Klassen ?

Um eine Schnittstelle zu spezifizieren, die dann von vielen Klassen denen das Spaß macht implementiert werden kann :).


5. ) Was ist nochmal der Unterschied zwischen Überladen und Überschreiben ? Könnt ihr mir Beispiele nennen ?

Mit überschreiben meint man das erneute implementiern einer ererbten Methode in einer Subklasse. Wenn z.b. Mitarbeiter eine neue Methode
String getFirma(){return "who cares...";} verpassen würde, hätte man damit getFirma() aus person überschrieben.
Überladene Methoden haben den selben Namen und unterscheiden sich nur in der Art der Parameter.


So, darf man fragen, welche(n) Übungszettel / Hausaufgabe ich gerade ansatzweise gelöst habe :biggrin: ?

Grüße, Jan

Unregistered
2003-04-29, 00:48:26
Dank Dir, ist so eine Übungsklausur bei uns an der FH :-)