Jo, die Überschrift ist die berühmte sprichwörtliche Gretchenfrage der Objektorientierten Programmierung.
Hat man an irgendeiner Stelle im Programm auch nur das geringste Problem, sie binnen 5s genau und sicher zu beantworten, so kann man schlicht nicht programmieren, jedenfalls nicht, bis man sich das nötige Verständnis angeeignet hat.
Was ist ühaupt ein Datentyp?
Der Datentyp gibt die Art eines Objekts inne OOP an. Es gibt eine Unmenge verschiedener Datentypen, und wenn die nicht ausreicht, kann man sich mit Leichtigkeit weitere Datentypen selbst programmieren.
Einen Datentypen programmiert man, wenn man
Dass viele Progger Probleme haben, einen Datentyp von einem Objekt ühaupt zu unterscheiden, mag auch anne realen Sprache liegen: "Ich gehe in den Laden und frage die Kassiererin...". - kein Mensch denkt drüber nach, dass "Kassiererin" (Art des Objekts) was anneres ist als im gegebenen Laden die konkrete Kassiererin (Objekt).
Beides wird sprach-schlampig mit "Kassiererin" bezeichnet.
OOP-Sprachen sind da genauer. Es gibt vielleicht Vereinfachungen und Kurzschreibweisen, um einen Datentyp festzulegen, aber eindeutig festgelegt und klar ersichtlich ist er immer.
Wer also die Gretchenfrage "Welchen Datentyp hat das?" nicht in jedem Fall und spielend leicht beantworten kann, gleicht einem Filialleiter, der eine Kassiererin nicht von einer Bierkiste unterscheiden kann. (Und mancher Code sieht wirklich aus, als sei auf gut Glück die Kassiererin ins Regal geräumt und anne Kasse eine Bierkiste - tja - funktioniert nicht
)
Eine Übung
Nicht nur Variablen haben je einen Datentyp, sondern Objekte haben ja auch Properties und Functions, welche wiederum einen Datentyp haben/zurückgeben. Oder es gibt Operatoren, mit denen man Ausdrücke zusammensetzen kann, und auch jeder Teilausdruck hat einen Datentyp.
Hier mal bischen Sample-Code, und Fragen zu den Datentypen:
Welchen Datentyp hat
Auflösung:
DirectLink
Hat man an irgendeiner Stelle im Programm auch nur das geringste Problem, sie binnen 5s genau und sicher zu beantworten, so kann man schlicht nicht programmieren, jedenfalls nicht, bis man sich das nötige Verständnis angeeignet hat.
Was ist ühaupt ein Datentyp?
Der Datentyp gibt die Art eines Objekts inne OOP an. Es gibt eine Unmenge verschiedener Datentypen, und wenn die nicht ausreicht, kann man sich mit Leichtigkeit weitere Datentypen selbst programmieren.
Einen Datentypen programmiert man, wenn man
- eine Klasse programmiert
- eine Structure
- ein Interface
- ein Enum
- einen Delegaten
- einen generischen Datentyp mit konkreten TypParametern bestückt (etwa
List(Of Integer)
ist ein annerer Datentyp alsList(Of String)
)
Dass viele Progger Probleme haben, einen Datentyp von einem Objekt ühaupt zu unterscheiden, mag auch anne realen Sprache liegen: "Ich gehe in den Laden und frage die Kassiererin...". - kein Mensch denkt drüber nach, dass "Kassiererin" (Art des Objekts) was anneres ist als im gegebenen Laden die konkrete Kassiererin (Objekt).
Beides wird sprach-schlampig mit "Kassiererin" bezeichnet.
OOP-Sprachen sind da genauer. Es gibt vielleicht Vereinfachungen und Kurzschreibweisen, um einen Datentyp festzulegen, aber eindeutig festgelegt und klar ersichtlich ist er immer.
Wer also die Gretchenfrage "Welchen Datentyp hat das?" nicht in jedem Fall und spielend leicht beantworten kann, gleicht einem Filialleiter, der eine Kassiererin nicht von einer Bierkiste unterscheiden kann. (Und mancher Code sieht wirklich aus, als sei auf gut Glück die Kassiererin ins Regal geräumt und anne Kasse eine Bierkiste - tja - funktioniert nicht

Eine Übung
Nicht nur Variablen haben je einen Datentyp, sondern Objekte haben ja auch Properties und Functions, welche wiederum einen Datentyp haben/zurückgeben. Oder es gibt Operatoren, mit denen man Ausdrücke zusammensetzen kann, und auch jeder Teilausdruck hat einen Datentyp.
Hier mal bischen Sample-Code, und Fragen zu den Datentypen:
Welchen Datentyp hat
- die Variable
dings
- der Teilausdruck
New DirectoryInfo("..\..\..")
(das ist eine dumme Frage - es ist natürlichDirectoryInfo
- steht ja da!) - der Teilausdruck
New DirectoryInfo("..\..\..").GetFiles
New DirectoryInfo("..\..\..").GetFiles.First
New DirectoryInfo("..\..\..").GetFiles.First.OpenRead
(naja, denselben wie dings - wird ja daran zugewiesen)Enumerable.Range(2, 3)
Enumerable.Range(2, 3).ToArray
( = arr)arr.Clone
CloneX(arr)
arr.CloneX
tomorrow
tomorrow.Subtract(Date.Today)
tomorrow - tomorrow.Subtract(Date.Today)
(tomorrow - tomorrow.Subtract(Date.Today)).Ticks
(tomorrow - tomorrow.Subtract(Date.Today)).Ticks / 2
( = item)
Auflösung:
DirectLink
Dieser Beitrag wurde bereits 10 mal editiert, zuletzt von „ErfinderDesRades“ ()