Ich habe Zweifel, ich weiß nicht, was ist Kompilierzeit und was ist Laufzeit in C#. Ich bekomme diese Worte von Polymorphismus (Method overloading, method overriding) kann u mir erklären. Dankeschön
Antworten
Zu viele Anzeigen?Das Überladen von Methoden wird zur Kompilierzeit festgelegt. Das bedeutet, dass der Compiler genau weiß, welcher Code ausgeführt wird, wenn Sie eine überladene Methode aufrufen. Er kann einen direkten Aufruf des Codes erzeugen, ohne zusätzliche Prüfungen vorzunehmen, die bei der Ausführung des Codes durchgeführt werden müssten.
Die Überschreibung einer Methode wird zur Laufzeit festgelegt. Wenn Sie eine virtuelle Methode aufrufen, wird die tatsächlich aufzurufende Methode anhand des tatsächlichen Typs des Objekts bestimmt, und diese Prüfung muss beim Aufruf durchgeführt werden. Da ein Verweis potenziell auf Objekte unterschiedlichen Typs verweisen kann, kann der Compiler anhand des Verweistyps nicht feststellen, welche Methode aufgerufen wird, so dass er Code hinzufügen muss, um zu ermitteln, von welcher Klasse die Methode abgerufen werden soll.
Die internen Aktionen, die ausgeführt werden, wenn die Befehle vom Computer befolgt werden, d. h. zur "Laufzeit".
Die Kompilierzeit bezieht sich entweder auf die von einem Compiler durchgeführten Operationen (die "Kompilierzeit-Operationen"), auf die Anforderungen der Programmiersprache, die der Quellcode erfüllen muss, damit er erfolgreich kompiliert werden kann (die "Kompilierzeit-Anforderungen"), oder auf Eigenschaften des Programms, die zur Kompilierzeit abgeleitet werden können.
Ref:- http://www.cs.bham.ac.uk/research/projects/poplog/primer/node35.html http://en.wikipedia.org/wiki/Compile_time