Thema: as

Einzelnen Beitrag anzeigen

Popov
(Gast)

n/a Beiträge
 
#1

as

  Alt 30. Nov 2012, 16:58
Ich bin leicht verwirrt. Natürlich kenne ich as und auch den Unterschied zwischen TTest(abc) und (abc as TTest) . Vor allem die Laufzeitprüfung und die nette Fehlermeldung. Ich gebe offen zu, dass ich as sehr selten nutze, da ich von meiner Einstellung her keine Überraschungen mag und somit auch keine Fehlermeldungen, ausgenommen meine. Das Objekt wird bei mir also zuerst überprüft und evtl. eine Alternative gewählt. Eine nette Fehlermeldung im Programm bringt mir nichts.

Trotzdem, ich hab gerade viel Code studiert und etliche Klassen und bin etwas verwirrt was den Mix angeht der vorherrscht. Einfach zu behaupten, dass wenn man sich sicher ist was kommt, dann TTest(abc) , wenn man sich überraschen will und eine nette Fehlermeldung haben will, dann (abc as TTest) . Guckt man sich so manchen Code an wird mal das eine mal das andere genommen. Den Sinn sehe ich oft nicht.

Wenn ich dann sowas sehe (nur mal als ein Beispiel von etlichen die mir heute aufgefallen sind), dann frage ich mich, hat es einen tieferen Sinn oder war der Programmierer an beiden Tagen lediglich unterschiedlich drauf. In der Regel gehe ich davon aus, dass ich nur den Sinn nicht erkenne

Delphi-Quellcode:
function TAbc.Get(Index: Integer): TGraphic;
begin
  Result := TGraphic(inherited Get(Index));
end;

procedure TAbc.Add(Item: TGraphic);
begin
  inherited Add(Item);
end;

function TDef.Get(Index: Integer): TBitmap;
begin
  Result := inherited Get(Index) as TBitmap;
end;

procedure TDef.Add(Item: TBitmap);
begin
  inherited Add(Item);
end;
  Mit Zitat antworten Zitat