Get Started. It's Free
or sign up with your email address
Rocket clouds
1814 by 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. Begriffe

2.1. Dereferenzierung

2.2. Aliase

2.2.1. Entstehung

2.2.2. Vorteile

2.2.3. Nachteile

2.3. Literale

2.3.1. Strings

2.3.2. Symbole

2.4. Arrays

2.5. Semantiken

2.5.1. Wertsemantik

2.5.1.1. Welche Sprachen?

2.5.2. Verweissemantik

2.6. Call-By-Value

2.7. Call-By-Reference

2.7.1. Vertauschen von Variablen

2.8. Kontrollstrukturen

3. Sprachen

3.1. Java

3.1.1. Collections

3.1.2. Algorithmus zum dynamischen Binden

3.1.3. abstrakte Klassen

3.1.4. Sichtbarkeit

3.1.4.1. private

3.1.4.2. protected

3.1.4.3. public

3.1.5. Typsystem

3.1.5.1. Wildcards

3.1.5.1.1. obere/untere Schranken

3.1.5.2. Typsicherheit

3.1.5.2.1. Arrays

3.1.5.2.2. generische Parameter

3.2. Eiffel

3.2.1. kovariante Redefinition

3.3. C#

3.3.1. Properties

3.3.2. ref

3.3.3. out

3.3.4. virtual

3.3.5. override

3.3.6. new

3.3.7. unsafe

3.4. Smaltalk

3.4.1. Zwischenobjekte

3.4.2. Nachrichten

3.4.2.1. Schlüsselwortnachrichten

3.4.2.2. binäre Nachrichten

3.4.2.3. unäre Nachrichten

3.4.3. Blöcke

3.4.4. Strongtalk

3.4.4.1. Syntax

3.5. C++

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