Skip to main content
eick-at moodle
  • Home
  • Calendar
  • More
You are currently using guest access
Log in
eick-at moodle
Home Calendar
Expand all Collapse all
  1. Grundlagen OOP mit C#
  2. Objektorientiertes Programmieren
  3. Konstruktoren

Konstruktoren

Completion requirements
Opened: Wednesday, 16 December 2020, 12:00 AM
Due: Wednesday, 16 December 2020, 12:00 AM

Unser Kontoprogramm funktioniert nur, weil .NET bei der Erzeugung der Objekte die Eigenschaft mit dem eingebauten Standardkonstruktor mit 0 initialisiert.

  1.     Konto konto1 = new Konto();         // Erzeugung der Objekte der Klasse Konto
  2.                                         // mit dem Standardkonstruktor

In C++ wäre dem nicht so, der ktoStand hätte zufällig irgendeinen Wert !!!

Aber auch wenn ein Konto mit z.B. 50 € Startguthaben erzeugt werden soll, dann ist ein allgemeiner Konstruktor von Vorteil. Er kann parametrisiert werden. Die Höhe des Startguthabens wird dann als Argument bei der Objekterzeugung mit übergeben:

  1.     Konto konto2 = new Konto(50);       // Allgemeiner Konstruktor

Die Funktionalität muss entwickelt werden:

  1.     class Konto                         // Klassendefinitionen
  2.     {
  3.         private double ktoStand;        // Eigenschaft
  4.  
  5.         public Konto(double betrag)     // Definition des allg. Konstruktors
  6.         {
  7.             ktoStand = betrag;          // Parameter wird der Eigenschaft zugewiesen
  8.         }
  9.         ...

Ein leeres Konto kann nun mit

  1.     Konto konto2 = new Konto(0);     // leeres Konto wird erzeugt

erzeugt werden.


Soll der Standardkonstruktor

  1.     Konto konto2 = new Konto();     // Standardkonstruktor

weiterhin benutzt werden können, muss er nun auch selbst definiert werden:

  1.     class Konto                         // Klassendefinitionen
  2.     {
  3.         private double ktoStand;        // Eigenschaft
  4.  
  5.         public Konto()                  // Definition eines Standardkonstruktor
  6.         {
  7.             ktoStand = 0;
  8.         }
  9.  
  10.         public Konto(double betrag)     // Definition des allg. Konstruktors
  11.         {
  12.             ktoStand = betrag;          // Parameter wird der Eigenschaft zugewiesen
  13.         }
  14.         ...


Dabei gilt:

  • Konstruktoren haben in C# die gleiche Bezeichnung wie die Klasse.
  • Konstruktoren haben keinen Rückgabewert, auch kein "void".


_____________________________________________________________________________

Aufgabe: Erweitern Sie obiges Programm um folgende Funktionalität:

UML-Klassen- und Objektdiagramm: KontoUML-Klassen- u. Objektdiagramm


ktoNr soll dabei durch den Konstruktor automatisch inkrementiert werden. Realisieren Sie das mit Hilfe einer statischen klassenweit gültigen Variable.

You are currently using guest access (Log in)
Data retention summary
Get the mobile app
Powered by Moodle