AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

With und Klassenmethoden

Ein Thema von idefix2 · begonnen am 15. Aug 2015 · letzter Beitrag vom 17. Aug 2015
 
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#8

AW: With und Klassenmethoden

  Alt 16. Aug 2015, 01:11
Die Verwendung von with ist genau deswegen böse weil es schon ein implizites with in Methoden gibt.
Die Argumentation ist allerdings wirklich verblüffend. Weil mein Bäcker Semmeln verkauft, sollte er endlich aufhören, Kornweckerl zu backen.


In einer Methode ist der Self Kontext (Instanz oder Typ) klar definiert. Kommt nun ein weiterer (oder sogar mehrere) hinzu wird es unübersichtlich.
und bei einem with ist der Kontext nicht klar definiert????


Probleme, wenn bei einer Klasse, die man verwendet, in einer späteren Version Dinge geändert werden, sind tatsächlich eine mögliche Fehlerquelle - wobei ich allerdings meinen würde, dass derartige Probleme extrem selten sein dürften, und dass mit derartigen Änderungen meist auch Änderungen im Verhalten von Klassen einhergehen werden, die in allen möglichen anderen Hinsichten eher Probleme machen werden.
Und es wäre ja auch leicht realisierbar, eine entsprechende Compilerwarnung auszugeben, wenn das Feld eines Records in einer with-Anweisung eine andere Variable "verdeckt" (wenn die Variable im with-Block angesprochen wird).

Schön wäre es meiner Meinung nach, wenn irgendwann in der Sprache eine erweiterung installiert würde, die es ermöglichen würde, etwas auf die Art von
Code:
with Feld[i+7*j].x[k] NAME F do
   F.a:=F.b+F.c
zu schreiben. Damit wären dann auch alle potentiellen Probleme erledigt - und aus diesem Beispiel ist auch ersichtlich, dass es durchaus Situationen gibt, wo with ein sehr nützliches Konstrukt ist.

Geändert von idefix2 (16. Aug 2015 um 01:16 Uhr)
  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 22:36 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