AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Notation (in einer Funktion)

Ein Thema von Sierra · begonnen am 12. Mai 2008 · letzter Beitrag vom 12. Mai 2008
Antwort Antwort
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#1

Notation (in einer Funktion)

  Alt 12. Mai 2008, 10:37
Hi!
Ich habe mal etwas Quelltext aus unserem Informatikkurs überflogen, weil bald eine Prüfung ansteht. Nun bin ich dabei auf eine Notation gestoßen, die ich nicht ganz einordnen kann.

Delphi-Quellcode:
function Suchbaum.linkerSuchbaum:Suchbaum;
begin
  result:=Suchbaum(linkerBaum);
end;
Dabei weiß ich nicht genau, was das "Suchbaum(linkerBaum) bewirkt bzw. müsste es eine Art Typecasting (ohne "as") sein. Dabei bin ich mir aber nicht ganz sicher. Dazum muss man sagen, dass "linkerBaum" vom Typ "Binaerbaum" der Klasse mBinaerbaum ist.
Vielen Dank für die Antwort.
  Mit Zitat antworten Zitat
Benutzerbild von vsilverlord
vsilverlord

Registriert seit: 7. Jan 2008
Ort: Baden Württemberg- Hohenlohekreis
174 Beiträge
 
RAD-Studio 2009 Arc
 
#2

Re: Notation (in einer Funktion)

  Alt 12. Mai 2008, 10:39
ja gut, suchbaum stinkt nach einer eigenen Klasse. Kannst du die bitte auch posten?
Volker
~beware
Wizards First Rule:
People are stupid; given proper motivation, almost anyone will believe almost anything. Because people are stupid, they will believe a lie because they want to believe it’s true, or because they are afraid it might be true
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.828 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Notation (in einer Funktion)

  Alt 12. Mai 2008, 10:39
Es handelt sich um einen harten Cast, bei der Verwendung von as um einen Softcast
Markus Kinzler
  Mit Zitat antworten Zitat
Sierra

Registriert seit: 3. Sep 2005
99 Beiträge
 
#4

Re: Notation (in einer Funktion)

  Alt 12. Mai 2008, 11:02
Vielen Dank.
So etwas in der Art dachte ich mir schon.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Notation (in einer Funktion)

  Alt 12. Mai 2008, 11:12
Wenn das wirklich aus eurem Informatikkurs ist solltet ihr euren Lehrer mal den offiziellen Delphistyleguide empfehlen. Wenn ihr mit Delphi programmiert so solltet ihr das auch richtig beigebracht bekommen um später im Berufsleben nicht schief angeschaut zu werden.
Typen sollten demnäch mit einem großen T beginnen (also auch neu definierte Klassen)
function TSuchbaum.linkerSuchbaum:TSuchbaum; Zudem ist es in der Praxis so das Funktion auch ohne Parameter mit Klammern versehen werden. (in anderen Sprachen bringt sogar der Compiler eine Fehlermeldung wenn dem nicht der Fall ist)
function TSuchbaum.linkerSuchbaum(): TSuchbaum; Das vorrangestellte T hat den Vorteil das man schneller sieht ob es sich um einen Cast handelt oder einen Funktionsaufruf.
Bsp.:
Delphi-Quellcode:
Irgendwas(Variable); //Variante1: nicht eingehaltender Styleguide
TIrgendswas(Variable); //Variante2: Styleguide beachtet
Bei Variante2 sieht man schneller das es sich um einen Cast handelt als bei Variante1.
Ich glaub wenn mein Kind mit so etwas aus der Schule käme würde ich dem Lehrer einen Besuch abstatten. Es kann ja nicht sein das die Kinder in der Schule das ganze falsch lernen und somit dann später wieder umlernen müssen nur weil der Lehrer sich nicht an Richtlinien hält.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.262 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Notation (in einer Funktion)

  Alt 12. Mai 2008, 11:27
Moin Zusammen,

dazu hätte ich noch etwas nachzutragen.
Bei einem harten Typecast sollte man sich auch ganz sicher sein, dass dieser zulässig ist, da der Compiler hier nicht meckern würde. Im anderen Falle, mit AS, würde man schon beim Compilieren einen Fehler gemeldet bekommen, wenn der Cast ungültig ist.


Zitat von Sierra:
Dazum muss man sagen, dass "linkerBaum" vom Typ "Binaerbaum" der Klasse mBinaerbaum ist.


Was ist jetzt der Typ "Binaerbaum", und was die Klasse mBinaerbaum?
Zumal Klassen ja auch Typen sind.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf