Jetzt loslegen. Gratis!
oder registrieren mit Ihrer E-Mail-Adresse
1814 von Mind Map: 1814

1. OOP

1.1. Konzepte

1.1.1. Was macht OOP aus

1.1.1.1. Modularisierung

1.1.1.2. Geflecht von in Beziehung stehenden Objekten

1.1.1.3. Unterschied OO­Sprachen zu imperativen Sprachen

1.1.2. Nachrichtenmodell

1.1.3. Gesetz von Demeter

1.2. Objekte

1.2.1. Schnittstelle eines Objektes

1.2.2. Gleichheit und Identität

1.2.3. Beziehungen

1.2.3.1. Generalisierung/Spezifikation

1.2.3.2. Klassifikation/Instantiierung

1.2.3.3. Assoziation zwischen Objekten

1.2.3.3.1. Zwischenobjekte

1.3. Probleme der OOP

1.3.1. Aliasing Problem

1.3.2. Fragile-Base-Class-Problem

1.3.3. Schlechte Tracebarkeit

1.4. Binden von Methoden

1.4.1. Dynamisches Binden

1.4.2. Statisches Binden

1.5. Klassenkonzept

1.5.1. Superklasse

1.5.2. Metaklasse

1.5.3. abstrakte Klassen

1.5.4. konkrete Klassen

1.5.5. Instanzen

1.5.6. Interfaces

1.5.7. Vererbung

1.6. Prototypenkonzept

1.7. Polymorphie

1.7.1. parametrischer Polymorphismus

1.7.1.1. beschränkter parametrischer Polymorphismus

1.7.1.2. generische Typparameter

1.7.1.2.1. formale Typparameter

1.7.1.2.2. aktuelle Typparameter

1.7.2. unterschiedliche Typen

1.7.2.1. Inklusionspolymorphie

1.8. überschreiben von Methodennamen

1.9. überladen von Methodennamen

2. Sprachen

2.1. Java

2.1.1. Collections

2.1.2. Algorithmus zum dynamischen Binden

2.1.3. abstrakte Klassen

2.1.4. Sichtbarkeit

2.1.4.1. private

2.1.4.2. protected

2.1.4.3. public

2.1.5. Typsystem

2.1.5.1. Wildcards

2.1.5.1.1. obere/untere Schranken

2.1.5.2. Typsicherheit

2.1.5.2.1. Arrays

2.1.5.2.2. generische Parameter

2.2. Eiffel

2.2.1. kovariante Redefinition

2.3. C#

2.3.1. Properties

2.3.2. ref

2.3.3. out

2.3.4. virtual

2.3.5. override

2.3.6. new

2.3.7. unsafe

2.4. Smaltalk

2.4.1. Zwischenobjekte

2.4.2. Nachrichten

2.4.2.1. Schlüsselwortnachrichten

2.4.2.2. binäre Nachrichten

2.4.2.3. unäre Nachrichten

2.4.3. Blöcke

2.4.4. Strongtalk

2.4.4.1. Syntax

2.5. C++

3. Begriffe

3.1. Dereferenzierung

3.2. Aliase

3.2.1. Entstehung

3.2.2. Vorteile

3.2.3. Nachteile

3.3. Literale

3.3.1. Strings

3.3.2. Symbole

3.4. Arrays

3.5. Semantiken

3.5.1. Wertsemantik

3.5.1.1. Welche Sprachen?

3.5.2. Verweissemantik

3.6. Call-By-Value

3.7. Call-By-Reference

3.7.1. Vertauschen von Variablen

3.8. Kontrollstrukturen

4. Typen

4.1. Typsystem

4.1.1. Typisierung

4.2. Typkorrektheit

4.3. Typprüfung

4.3.1. statisch

4.3.2. dynamisch

4.4. Subtypen

4.4.1. LSP

4.4.1.1. Substitutionsprinzip

4.4.2. Kontravarianz

4.4.3. Kovarianz

4.4.4. Konformität

4.4.4.1. syntaktisch

4.4.4.2. Verhaltenskonformität

4.5. Typäquivalenz

4.5.1. nominale Typäquivalenz

4.5.2. strukturelle Typäquivalenz

4.5.2.1. Type Branding

4.6. Subtyping vs Subclassing

4.7. Schnittstellen

4.8. Typendefinition

4.8.1. Typenkostruktoren

4.8.2. Schema für Typendefinition

4.8.3. Induktiver Aufbau von Typen und Semantik

4.8.3.1. denotationale Semantik

4.8.3.2. operationale Semantik

4.9. Zuweisungskompatibilität

4.10. Typenerweiterung