AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Merkwürdiger Source Code? Kann mir das jemand erklären?
Thema durchsuchen
Ansicht
Themen-Optionen

Merkwürdiger Source Code? Kann mir das jemand erklären?

Ein Thema von mandoki · begonnen am 18. Mär 2007 · letzter Beitrag vom 19. Mär 2007
 
Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#26

Re: Merkwürdiger Source Code? Kann mir das jemand erklären?

  Alt 19. Mär 2007, 14:58
Zitat:
Die Propertys sind doch nur Show, die müssen doch im zu implementierenden Object gar nicht vorhanden sein...
Die sind nur fürs Interface...
Ja, und das ist ja gerade das Problem von dem ich rede. Die Getter/Setter Methode einer Property in einem Interface sind ebenso öffentlich sichtbar wie die Property selber. In einem Interface gelten 2 goldende Regeln

1.) alles ist öffentlich -> logisch ist ja ein abstraktes Modell so ein Interface
- keine differenzierte Sichtbarkeitsregeln, es gibt also kein private/protected/public etc.pp
- somit alles public

2.) ein Interface sollte niemals Aussagen über die reale Implementierung treffen -> also vollständig abstrakt
- ein Interface kann durch verschiedene impelementierende Klassen benutzt werden
- ein Interface kann sogar über mehrere Klassen implementiert werden, dh. gleich mehrere Klassen stellen die reale Impelementierung des Interfaces dar
- die reale Implementierung eines Interfaces kann durch den Implementor weiter delegiert werden
- die Lebenszeit der implementierenden Klassen eines Interfaces ist undefiniert, großer Unterschied zu Klassen
- ein Interfaces muß garnicht durch eine Klasse implementiert werden, es geht auch procedural oder sonstwie, eben weil das Interface keinerlei Aussagen trifft was, wann, wo, wie und womit real implementiert ist
- ein Interface kann nur eine Teilmenge der Funktionalität einer komplexen Klasse exportieren, also Reduktion der verfügbaren Funktionalität einer Klasse nach aussen und das sogar noch auf eine Art&Weise das man eben nicht wissen kann wie es impelmentiert wurde, also abstrakt. Das heist man kann über Interfaces quasi zu einer bestehenden Klassenhierarchie eine komplett umstrukturierte und unabhängige Parallel-Hierarchie aufbauen, einfach nur durch reine Deklarationen. So gesehen sind Interfaces sowas wie ein Translator von Denkmodellen, sie translieren von einem Denkmodell einer Klassenstruktur in Programmierspache A in ein komplett anderes Denkmodell in Sprache B. Und das war die Ursache dafür das es überhaupt Interfaces heutzutage gibt.

Das alles sind ja gerade die Vorteile der Interfaces.
Man kann sich diese verbauen wenn man dieses gute Konzept aufweicht, eben bei Properties in Interfaces.
Getter/Setter Methoden einer Property gehören zur Klasse der implementierenden Methoden, sie sind nicht abstrakt noch losgelösst sondern implementieren konkret die Funktionalität zu einer deklarierten Property, ergo sie exportieren Delphitypische Sprachkonstrukte. Damit widersprechen sie dem Konzept der vollkommenen Abstraktion die Interfaces erreichen sollen.

Klar soweit ?

Gruß Hagen
  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 18:18 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