Erklärung



  • Hallo Leute!!

    Ich bin totaler neuanfänger in Java Programmierung und würde mich freuen wenn ihr euch mal den Text angucken könntet und schauen ob meine Kommentare so stimmen. Ixh sehe auch noch nciht so richtig durch! Einiges ist mir ja klar aber anderes ohje... Allein schon die Wörter Konstrukter, Referenz und Argumente.. Ich shee da nicht durch! Wäre nett wenn ihr mir helfenb könntet. Ich möchte einfach nur diesen kleinen Quelltext verstehen lernen! Ich lese zwar ein Buch dazu aber manches ist mir sehr shleierhaft.. Vielen Vielen dank!!!!

    Hier mein Quelltext:

    [img]www.taikahn.de/code.jpg[/img]



  • es gibt hier java tags damit man schön formatierten bunten code posten kann



  • Hi,

    besser wärs gewesen, den Quelltext hier rein zu kopieren. Hab mir mal die ****-Mühe gemacht, den abzutippen:

    class Cmitarbeiter // In Java sollte das so heißen: CMitarbeiter
    {
      String m_name; // in Java lieber: MName; Außerdem sollten die Attribute
                     // lieber privat oder protected sein.
      String m_vorname; //MVorname;
      int    m_gehalt; // MGehalt;
    
      Cmitarbeiter(String nam, String vorname, int gehalt) // CMitarbeiter
      {
        m_name   =nam; // das Attribut m_name benutzt du nochmal in der Methode datenAusgeben()
        m_vorname=vorname;
        m_gehalt =gehalt;
      }
    
      void datenAusgeben()
      {
        System.out.println("\n");
        System.out.println("Name: "+m_name);
        System.out.println("Vorname: "+m_vorname);
        System.out.println("Gehalt: "+m_gehalt);
      }
    
      void gehaltErhoehen(int erhoehung)
      {
        m_gehalt+=erheohung;
      }
    }
    
    public class Cmitarbeiterbeispiel // In Java lieber: CMitarbeiterBeispiel
    {
      public static void main(String[] args)
      {
        Cmitarbeiter billy=new Cmitarbeiter("Gates", "Bill", 3000);
        // Hier übergibst du dem Konstruktor die Daten
        // wo dann die Attribute m_name, m_vorname und m_gehalt mit 
        // initialisiert werden.
    
        billy.datenAusgeben(); // Sollte ausgeben: {2 Leerzeilen}
                               // Name: Gates
                               // Vorname: Bill
                               // Gehalt: 3000
    
        billy.gehaltErhoehen(500); // Erhöht das Gehalt von Bill Gates um 500
      }
    }
    


  • Vielen dank für deine Antwort! Aber ich verstehe immer noch ncith was es mit dem Konstrukter auf sich hat und wozu man den nun brauch. Desweiteren verstehe ich auch nciht die Zuweisungen im Konstrukter. Wieso soll ich die Membervariablen nochmal mit nem neuen Wert initalisieren wenn ich die nie irngedwo nehme. Ich nehme ja immer nur die m_name undso weiter... Versteh das nicht...Total unlogisch. Weiß da jemand was? Vielen Dank.



  • na mit dem kontruktor erzeugst du einen neuen mitarbeiter (billy) der namen ung gehalt hat.
    und mit billy.datenAusgeben() werden genau diese daten die du im kontruktor gesetzt hast ausgegeben.



  • ASo und was sollen dann diese Ausdrücke im Konstruktor hier ?? Ich versteh sie einfach nicht

    m_name =nam; //
    m_vorname=vorname;
    m_gehalt =gehalt;

    Die machen für mich keinen Sinn!



  • Damit initialisierst du die Membervariablen deiner Klasse mit den übergebenen Parametern, In datenAusgeben() werden die dann weiterverwendet.



  • Hi,

    wenn du das im Konstruktor nicht hättest

    m_name   =nam;
        m_vorname=vorname;
        m_gehalt =gehalt;
    

    würden die Variablen (in diesem Fall Referenzen) den Wert null enthalten (also zeigen auf kein Objekt).

    Mit

    m_name   =nam;
        m_vorname=vorname;
        m_gehalt =gehalt;
    

    wird den Variablen ein String (genauer eine Referenz auf ein String-Objekt) zugewiesen.

    Grüße
    Jan


Anmelden zum Antworten