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. Anwendungsfall,- Klassen-, Objekt- u. Sequenzdiagramm

Anwendungsfall,- Klassen-, Objekt- u. Sequenzdiagramm

Completion requirements
Opened: Wednesday, 9 December 2020, 11:00 PM
Due: Wednesday, 16 December 2020, 11:00 PM

Zeichnen Sie Anwendungsfall,- Klassen-, Objekt- u. Sequenzdiagramm zu folgendem Programmcode:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace ZentraleSupermarktKasse
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             Zentrale z1 = new Zentrale();
  12.             Supermarkt s1 = new Supermarkt("Wmarkt");
  13.             Supermarkt s2 = new Supermarkt("KaufGut");
  14.  
  15.             //schwacher Besitz (Aggregation)
  16.             z1.addSupermarkt(s1);       
  17.             z1.addSupermarkt(s2);
  18.  
  19.             //starker Besitz (Komposition)
  20.             s1.addKasse(new Kasse("Kasse 1", 250, 1700));   
  21.             s1.addKasse(new Kasse("Kasse 2", 125, 1279));
  22.  
  23.             s2.addKasse(new Kasse("Süd 1", 125, 1279));
  24.             s2.addKasse(new Kasse("Süd 2", 46, 865));
  25.             s2.addKasse(new Kasse("Nord 1", 74, 523));
  26.  
  27.             Console.WriteLine(z1.berechneTagesEinnahmeGesamt());
  28.         }
  29.     }
  30.  
  31.     class Kasse
  32.     {
  33.         private string bezeichnung;
  34.         private double einlage;
  35.         private double kassenstand;
  36.  
  37.         public Kasse(string bezeichnung, double einlage, double kassenstand)
  38.         {
  39.             this.bezeichnung = bezeichnung;
  40.             this.einlage = einlage;
  41.             this.kassenstand = kassenstand;
  42.         }
  43.         public double getEinlage()
  44.         {
  45.             return einlage;
  46.         }
  47.         public double getKassenstand()
  48.         {
  49.             return kassenstand;
  50.         }
  51.     }
  52.  
  53.     class Supermarkt
  54.     {
  55.         string name;
  56.         private double tagesEinnahme;
  57.         List<Kasse> kassen = new List<Kasse>();
  58.  
  59.         public Supermarkt(string name)
  60.         {
  61.             this.name = name;
  62.         }
  63.         public double getTageseinnahme()
  64.         {
  65.             return tagesEinnahme;
  66.         }
  67.         public void addKasse(Kasse k)
  68.         {
  69.             kassen.Add(k);
  70.         }
  71.         public double berechneTagesEinnahme()
  72.         {
  73.             tagesEinnahme = 0;
  74.             foreach (Kasse k in kassen)
  75.                 tagesEinnahme += k.getKassenstand() - k.getEinlage();
  76.             return tagesEinnahme;
  77.         }
  78.     }
  79.  
  80.     class Zentrale
  81.     {
  82.         double tagesEinnahmeGesamt;
  83.  
  84.         List<Supermarkt> supermaerkte = new List<Supermarkt>();
  85.  
  86.         public void addSupermarkt(Supermarkt supermarkt)
  87.         {
  88.             supermaerkte.Add(supermarkt);
  89.         }
  90.         public double berechneTagesEinnahmeGesamt()
  91.         {
  92.             tagesEinnahmeGesamt = 0;
  93.             foreach (Supermarkt supermarkt in supermaerkte)
  94.                 tagesEinnahmeGesamt += supermarkt.berechneTagesEinnahme();
  95.             return tagesEinnahmeGesamt;
  96.         }
  97.     }
  98. }


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