klassendiagramm in javacode übersetzen :S

guten tag, ich bin ein java anfänger und bin grad auf eine aufgabe gestoßen, wo ich ein klassendiagramm in javacode übersetzen soll nun hab ich die pakete und die klassen erstellt und weiß leider nicht wie ich weiter vorgehen soll, könnte mir bitte jemand zur hand gehen und mir eine klasse in java aus dem klassendiagramm erstellen mit methoden und attributen..., dass ich weiß wie ich vorgehen muss ?

wäre sehr dankbar :)

 
T

Trolllllll

Gast
Ist das jetzt ernst deine Frage?

aber ok, also um eine Klasse zu erstellen benutzt man das keyword
Code:
public class
und dann schreibt man den namen hin

also z.B.

Java:
public class Student{

}

Nun hat die Klasse ja Atribute die einen Typ haben, die erstellt man nun auch

Java:
public class Student{
   private String studiengang;
}

Nun schaut man sich die Methoden an und erstellt diese auch

Java:
public class Student{
   private String studiengang;
   public Student(String vorname, String nachname, int alter, int id, String studienganf{
      //Ein Komentar hier muss jetzt die Logik stehen was hier passiert, da es ein Konstruktor ist würde ich sowas schreiben
      this.studiengang=studiengang;
   }
   public String zeigeBildung(){
      //Ein Komentar hier muss jetzt die Logik stehen was hier passiert, z.B. sowas (es muss ein String returnt werden)
      return studiengang;
   }
}

Und Fertig ist diese Klasse, war es schwer?
 
T

Trolllllll

Gast
[EDIT]
Sorry Tippfehler
Java:
public class Student{
   private String studiengang;
   public Student(String vorname, String nachname, int alter, int id, String studiengang){
      //Ein Komentar hier muss jetzt die Logik stehen was hier passiert, da es ein Konstruktor ist würde ich sowas schreiben
      this.studiengang=studiengang;
   }
   public String zeigeBildung(){
      //Ein Komentar hier muss jetzt die Logik stehen was hier passiert, z.B. sowas (es muss ein String returnt werden)
      return studiengang;
   }
}
[/EDIT]
 
ne so schwer war das nicht, die klasse konnte ich anlegen aber der inhalt :S... muss da noch extends Person hin weil die klasse student ja die attribute von der klasse person erbt oder :S ?

aber vielen dank :)
 
Java:
package personen;

//uniAngestellter klasse mit erbung der Person klasse
public class UniAngestellter extends Person {
    private String uniAbschluss;
    private boolean istDoktor;
    private boolean istProfessor;
    
    public UniAngestellter(String vorname, String nachname, int alter, int id, String uniAbschluss) {
        this.uniAbschluss=uniAbschluss;
        this.istDoktor=istDoktor;
        this.istProfessor=istProfessor;       
    }
    public String zeigeBildung() {
        
        return studiengang;
    }
    public boolean setDoktor() {
        
        return uniAbschluss;
    }
    public boolean istProfessor() {
        
        return uniAbschluss;
    }
}
 
ich weiß jetzt nich ob das richtig ist aber ich habe mal versucht die UniAngestellter klasse zu erstellen :S könntest du das bitte korrigieren :S wäre dir sehr dankbar :)
 
T

Tomate_Salat

Gast
Nein, setter-Methode ändern (i.d.R) einen Wert:
Java:
public void setName(String name)
{
     this.name=name;
}

entweder bin ich blind (ich hoffs doch nicht :)) oder ich sehe es nicht, aber:
Java:
public String zeigeBildung() {
        
        return studiengang;
    }
wo ist studiengang hier definiert ;-)? Hast du das von Student abgeschaut?(Falls ja, dann ist das falsch). Ich denke hier sollte eher der Uniabschluss zurückgegeben werden. Zudem wird die Methode zeigeBildung in der UniAngestellte die von Person überschreiben, weswegen die Methode etwa so aussehen sollte:
Java:
@Override
public String zeigeBildung() {
   // ... deine Implementierung
}
 
ich blicke da gar nicht mehr durch :S kannst du die falschen qullcodestellen bitte mal ersetzen damit ich das so in einem quellcode sehe und mit dem falschen vergleichen kann :S ?

danke
 
T

Trolllllll

Gast
wie schon Tomate_Salat gesagt hat.

Ich würde Normalerweiße bei der Root-Klasse, also in deinem Fall Mensch beginnen, da alles von Mensch erbt und mich dann langsam nach unten hangeln.

Java:
package personen;
 
//uniAngestellter klasse mit erbung der Person klasse
public class UniAngestellter extends Person {
    private String uniAbschluss;
    private boolean istDoktor;
    private boolean istProfessor;
    
    public UniAngestellter(String vorname, String nachname, int alter, int id, String uniAbschluss) {
        //hier wahrscheinlich auch aufruf des Konstruktors der geerbten Classe mit übergebenen Parametern (vorname, nachname, alter und id)
        this.uniAbschluss=uniAbschluss;
        // die beiden werden nicht übergeben
        // somit raus --this.istDoktor=istDoktor;--
        // somit raus --this.istProfessor=istProfessor;--       
    }
    public String zeigeBildung() {
        // kann nicht richtig sein, ein angestelter hat keinen studiengang
        // somit raus --return studiengang;-- und statdessen
        return uniAbschluss;
    }

    // hat keinen Rückgabewert, aber einen boolean übergabewert, also
    public void setDoktor(boolean istDoktor) {
        //somit raus --return uniAbschluss;--
        // setzt den Wert;
        this.istDoktor=istDoktor;
    }
    //das selbe wie bei doktor
    public void istProfessor(istProfessor) {
        this.istProfessor=istProfessor;
    }
}
 
T

Trolllllll

Gast
steht bei einer Methode in deinem Model

Code:
name () : Typ

heißt das

Code:
public Typ name(){
   return (objekt mit dem Typ)
}

Code:
name (objekt : Typ)

heißt es

Code:
public void name(Typ objekt){
   kein return
}

und bei

Code:
name (objekt : Typ) : Typ2

heißt es

Code:
public Typ2 name(Typ objekt){
   return  (objekt mit dem Typ2)
}
 

Neue Themen


Oben