AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Klasse Rechteck von Quadrat ableiten oder umgekehrt?
Thema durchsuchen
Ansicht
Themen-Optionen

Klasse Rechteck von Quadrat ableiten oder umgekehrt?

Ein Thema von Chris P · begonnen am 4. Jun 2007 · letzter Beitrag vom 4. Jun 2007
 
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#13

Re: Klasse Rechteck von Quadrat ableiten oder umgekehrt?

  Alt 4. Jun 2007, 12:23
Zitat von ulrich.b:
Doch das Institut für "Computer Languages" an der TU Wien sieht das anders!!! Die reden davon, dass zwar eine Vererbungsbeziehung in die eine Richtung existiert (Quadrat => Rechteck) jedoch eine sg. "Reale-Welt Beziehung" in die andere (In der Mathematik ist ein Rechteck mit selben Seitenlängen ein Quadrat). => Nach dem Comp Lang Institut darf man beide nicht voneinander ableiten....
Viele Wege führen nach Rom. Ebenso haben die verschiedenen Ansätze zur Modellierung der Klassen ihre Vor- und Nachteile.
Man könnte z.B. auf die Klasse TQuadrat ganz verzichten und nur mit TRechteck auskommen.
Zusätzlich wird die (virtuelle) Funktion GetDrehsymmetrie:integer eingeführt.
Ist das Rechteck ein Quadrat liefert die Funktion 4 ansonsten 2. (gleichseitige Dreiecke -> 3, gleichs. Fünfecke -> 5, Kreis -> unendlich, Elypse -> 2, ...)

Wenn man TQuadrat von TRechteck ableitet, dann könnte man ein TRechteck-Objekt mit gleichen Seitenlängen erzeugen, dass zwar de Fakto ein Quadrat ist, aber nicht von der Klasse Quadrat abstammt.

Mit dem Ansatz des Comp Lang Institut könnte dies verhindert werden. Es könnte hier also nie ein Objekt der Klasse TRechteck geben, dass gleiche Seitenlängen hat (ansonsten würde eine Exception erzeugt).
Es kommt aber immer drauf an, was man erreichen möchte.
So wäre der Ansatz des Comp Lang Institut eher störend, wenn man die Seitenlängen nachträglich verändern möchte (z.B. Skalierung in Y-Richtung), da nun aus einem Rechteck ein Quadrat werden könnte.
Andreas
  Mit Zitat antworten Zitat
 


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 03:47 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