Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Typisierung
Typisierung?
• Festlegen des Typs einer Variablen
int i = 42;
Typisierung?
• Festlegen des Typs einer Variablen
• Das System kann überprüfen ob eine
  Verletzung des Typsystems vorlieg...
Typisierung?
• Festlegen des Typs einer Variablen
• Das System kann überprüfen ob keine
  Verletzung des Typsystems vorlie...
Wonach unterscheidet man?

     statisch   dynamisch
       stark    schwach
     explizit   implizit
statisch:
      der Compiler prüft       (ob alles korrekt ist)



dynamisch:
    keiner prüft   (Problem: Laufzeitfehler)
String s = "Hallo";
s = s.gehNachHause();
String s = "Hallo";
s = s.gehNachHause();

  statisch typisiert:
         Compiler „meckert“,
         Programm startet ni...
String s = "Hallo";
s = s.gehNachHause();

  dynamisch typisiert:
         Programm startet,
         läuft bis zu dieser ...
stark:
     zwischen den Typen wird
     streng unterschieden
schwach:
    das System versucht die Daten
    in den geford...
i = 42;
   s = "8";
ergebnis = i + s;
i = 42;
   s = "8";
ergebnis = i + s;

      stark typisiert:
             Fehler zur Kompilierungs-
             oder Lau...
i = 42;
   s = "8";
ergebnis = i + s;

      schwach typisiert:
             s wird konvertiert,
             ergebnis ist...
explizit:
     Datentyp einer Variable MUSS
     genannt werden
implizit:
     Datentyp wird ermittelt
int i = 42;
String s = "8";


   explizit typisiert:
          Datentyp wird genannt.
i = 42;
 s = "8";


implizit typisiert:
       Datentyp wird ermittelt.
Beispiel: Java?

      statisch    dynamisch
         stark    schwach
       explizit   implizit
Beispiel: Java

      statisch   dynamisch
        stark    schwach
      explizit   implizit
Beispiel: C?

      statisch    dynamisch
         stark    schwach
       explizit   implizit
Beispiel: C

      statisch    dynamisch
         stark    schwach
       explizit   implizit
Beispiel: C#?

      statisch   dynamisch
        stark    schwach
      explizit   implizit
Beispiel: C#

      statisch     dynamisch
        stark      schwach
      explizit     implizit
            int i = 2;
 ...
Beispiel: PHP?

      statisch   dynamisch
        stark    schwach
      explizit   implizit
Beispiel: PHP

      statisch   dynamisch
        stark    schwach
      explizit   implizit
Beispiel: Python?

      statisch   dynamisch
        stark    schwach
      explizit   implizit
Beispiel: Python

      statisch   dynamisch
        stark    schwach
      explizit   implizit
Fragen!
Nächste SlideShare
Wird geladen in …5
×

Typisierung

1.580 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Typisierung

  1. 1. Typisierung
  2. 2. Typisierung? • Festlegen des Typs einer Variablen
  3. 3. int i = 42;
  4. 4. Typisierung? • Festlegen des Typs einer Variablen • Das System kann überprüfen ob eine Verletzung des Typsystems vorliegt Vermeidung von Laufzeitfehlern
  5. 5. Typisierung? • Festlegen des Typs einer Variablen • Das System kann überprüfen ob keine Verletzung des Typsystems vorliegt Vermeidung von Laufzeitfehlern • Das System kann die richtige Menge Speicher für die Variable reservieren Speicheroptimierung
  6. 6. Wonach unterscheidet man? statisch dynamisch stark schwach explizit implizit
  7. 7. statisch: der Compiler prüft (ob alles korrekt ist) dynamisch: keiner prüft (Problem: Laufzeitfehler)
  8. 8. String s = "Hallo"; s = s.gehNachHause();
  9. 9. String s = "Hallo"; s = s.gehNachHause(); statisch typisiert: Compiler „meckert“, Programm startet nicht
  10. 10. String s = "Hallo"; s = s.gehNachHause(); dynamisch typisiert: Programm startet, läuft bis zu dieser Stelle, schmiert ab
  11. 11. stark: zwischen den Typen wird streng unterschieden schwach: das System versucht die Daten in den geforderten Typ zu konvertieren
  12. 12. i = 42; s = "8"; ergebnis = i + s;
  13. 13. i = 42; s = "8"; ergebnis = i + s; stark typisiert: Fehler zur Kompilierungs- oder Lauf-Zeit
  14. 14. i = 42; s = "8"; ergebnis = i + s; schwach typisiert: s wird konvertiert, ergebnis ist 50.
  15. 15. explizit: Datentyp einer Variable MUSS genannt werden implizit: Datentyp wird ermittelt
  16. 16. int i = 42; String s = "8"; explizit typisiert: Datentyp wird genannt.
  17. 17. i = 42; s = "8"; implizit typisiert: Datentyp wird ermittelt.
  18. 18. Beispiel: Java? statisch dynamisch stark schwach explizit implizit
  19. 19. Beispiel: Java statisch dynamisch stark schwach explizit implizit
  20. 20. Beispiel: C? statisch dynamisch stark schwach explizit implizit
  21. 21. Beispiel: C statisch dynamisch stark schwach explizit implizit
  22. 22. Beispiel: C#? statisch dynamisch stark schwach explizit implizit
  23. 23. Beispiel: C# statisch dynamisch stark schwach explizit implizit int i = 2; var j = 3;
  24. 24. Beispiel: PHP? statisch dynamisch stark schwach explizit implizit
  25. 25. Beispiel: PHP statisch dynamisch stark schwach explizit implizit
  26. 26. Beispiel: Python? statisch dynamisch stark schwach explizit implizit
  27. 27. Beispiel: Python statisch dynamisch stark schwach explizit implizit
  28. 28. Fragen!

×