Unterschied zu funktional?

Hi,

Ich verstehe nicht ganz den Unterschied zwischen den zwei folgenden Schreibweisen:

length(Array) oder
Array.length()

Warum ist die zweite Möglichkeit in C# benutzt, und warum ist das besser?

Nick

Hallo!
Ersteres ist eine Funktion, die von VB zur Verfügung gestellt wird und die es deswegen in anderen Sprachen so nicht unbedingt geben muss.
Die zweite Variante nutzt eine Methode der Klasse Array und ist somit unabhängig von der Sprache verwendbar.

Gruß,
Martin

Die zweite Schreibweise ist deshalb besser, weil sie der objektorientierten Programmierung dient.

Stell dir doch mal vor, du hast zwei Klassen. Die eine heißt “Fußball” und die andere “Gewehr”. Beide haben zufällig eine Methode namens “Schießen()”, die aber natürlich bei Gewehren was ganz anderes bedeutet als bei Fußbällen.

Warum schreibt man also:

fußball.Schießen();
gewehr.Schießen();

anstatt:

Schießen(fußball);
Schießen(gewehr);

Die erstere Schreibweise ist besser, weil sie verdeutlicht, dass es sich um zwei völlig verschiedene Methoden handelt. Welche Methode aufgerufen wird, hängt vom Objekt ab.

Die zweitere Schreibweise gibt den falschen Eindruck, dass es in beiden Fällen die gleiche Methode sei. Ist es aber nicht.

Beantwortet das deine Frage?