AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language OOP- Programm Aufzugsteuerung. Korrekt Programmiert?
Thema durchsuchen
Ansicht
Themen-Optionen

OOP- Programm Aufzugsteuerung. Korrekt Programmiert?

Ein Thema von Starter · begonnen am 13. Jun 2019 · letzter Beitrag vom 14. Jun 2019
Antwort Antwort
Schokohase
(Gast)

n/a Beiträge
 
#1

AW: OOP- Programm Aufzugsteuerung. Korrekt Programmiert?

  Alt 13. Jun 2019, 13:29
Vorweg: Ich habe mir den Quellcode noch nicht angeschaut.

Wenn ich mir einen Aufzug ansehe (bzw. wie ich mit dem interagieren kann), dann habe ich außen
  • Anforderungs-Taster (ich will mit)
  • Anforderungs-Anzeige (du kommst mit)
  • Aktuelle Etage
  • Geplante Fahrtrichtung (rauf/runter)
Also benötigt man schon einmal eine Klasse, die dieses abbildet.

Genauso eine, die die Interaktions-Möglichkeiten im Aufzug darstellt.

Diese greifen dann auf eine Klasse zu, die die Aufzugslogik steuert.

Wie man sieht, bislang ist noch keine Form in Sicht ...
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: OOP- Programm Aufzugsteuerung. Korrekt Programmiert?

  Alt 13. Jun 2019, 13:43
Zitat:
Welchen Sinn machen die Properties plus die gleichnamigen Variablen mit dem F davor?
Delphi-Quellcode:
type
 TMyClass = class(TPersistent)
 private
  FLocalVar: string;
 public
  constructor Create;
  destructor Destroy; override;

  property LocalVar: string read FLocalVar write SetLocalVar;
 end;

procedure TMyClass.SetLocalVar(const Value: string);
begin
 // irgendwelche Berechnungen, Bedingungen oder so und am Ende die Zuweisung
 FLocalVar := Value + 'S' + 'O' + 'S' ....... ;
end;
Für MICH haben private Feldvariablen hier den klaren Vorteil, dass ich sie innerhalb der Klasse frei setzen kann, ohne dabei noch einmal durch den Setter gehen zu müssen.
irgendwo ein FLocalVar := 'x'; zuweisen = kein Zugriff auf den Setter.
  Mit Zitat antworten Zitat
Starter

Registriert seit: 13. Jun 2019
2 Beiträge
 
#3

AW: OOP- Programm Aufzugsteuerung. Korrekt Programmiert?

  Alt 14. Jun 2019, 06:45
Hallo

Danke schon mal für die Antworten und die Hinweise auf die Fehler.

Ich dachte mir schon, dass da ziemlich viele Fehler drin sind. Habe es mir gestern auch noch mal durch den Kopf gehen lassen und ich hab zwar eine Klasse erstellt was in OOP richtig ist, aber den Rest habe ich quasi alles Falsch gemacht, was man in OOP nur falsch machen kann
Aber deswegen habe ich ja gefragt, denn aus Fehlern lernt man

Ein besonderes Dankeschön wollte ich dir "der schöne Günther" aussprechen, da du nicht nur die Fehler angesprochen hast, welche ich gemacht habe, sondern auch positives (meinen constructor mit der Zufälligen Zahl und das Kommentieren) angesprochen hast.
Zu deiner Frage was die Floor-Nummer ist. Die Floor-Nummer war eigentlich dazu gedacht, dazustellen in welchen Stockwerk der Aufzug ist. WhereamI wäre dazu dagewesen darzustellen wo sich der User befindet.
Ich hätte die Beiden nicht in eine eigene Klasse stecken dürfen. Vlt hätte ich eine Klasse Elevator und eine Klasse User erstellen sollen, dann wäre es einfacher gewesen

Aber ich werde das Programm mal überarbeiten.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.460 Beiträge
 
Delphi 12 Athens
 
#4

AW: OOP- Programm Aufzugsteuerung. Korrekt Programmiert?

  Alt 14. Jun 2019, 07:11
Moin...
Zitat:
Ich hätte die Beiden nicht in eine eigene Klasse stecken dürfen
Richtig. Die Klasse (quasi die Steuerung) sollte alle Zustände kennen. Die Klasse bekommt nur Eingaben. (Button Klicks) und hat Ausgaben - z.B. Events (Anzeige des Zustandes, Lampen, Stockwertanzeige etc.) Der Rest läuft in der "Blackbox" (Klasse ) ab.

Vorschlag.
1. Die Klasse gehört in eine eigene Unit. (hast du)
2. Der Klasse proceduren verpassen (Hoch/Runter mit Parameter aktuelles Stockwerk)
3. Ausgaben generieren (Events)
4. In der Oberfläche die Events "behandeln" und deine Ausgaben anzeigen.



Zitat:
dazustellen in welchen Stockwerk der Aufzug ist. WhereamI wäre dazu dagewesen darzustellen wo sich der User befindet
Die Steuerung muß nur wissen wo sich der Aufzug befindet. Welcher und wieviele User mitfahren ist ihm egal. Der User selbst kennt seine aktuelle Etage, die du als Parameter der Hoch/Runter procedure übergibst.

Geändert von haentschman (14. Jun 2019 um 07:17 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz