Create your own awesome maps

Even on the go

with our free apps for iPhone, iPad and Android

Get Started

Already have an account?
Log In

1814 by Mind Map: 1814
0.0 stars - reviews range from 0 to 5

1814

OOP

Konzepte

Was macht OOP aus, Modularisierung, Geflecht von in Beziehung stehenden Objekten, Unterschied OO­Sprachen zu imperativen Sprachen

Nachrichtenmodell

Gesetz von Demeter

Objekte

Schnittstelle eines Objektes

Gleichheit und Identität

Beziehungen, Generalisierung/Spezifikation, Klassifikation/Instantiierung, Assoziation zwischen Objekten, Zwischenobjekte

Probleme der OOP

Aliasing Problem

Fragile-Base-Class-Problem

Schlechte Tracebarkeit

Binden von Methoden

Dynamisches Binden

Statisches Binden

Klassenkonzept

Superklasse

Metaklasse

abstrakte Klassen

konkrete Klassen

Instanzen

Interfaces

Vererbung

Prototypenkonzept

Polymorphie

parametrischer Polymorphismus, beschränkter parametrischer Polymorphismus, generische Typparameter, formale Typparameter, aktuelle Typparameter

unterschiedliche Typen, Inklusionspolymorphie

überschreiben von Methodennamen

überladen von Methodennamen

Begriffe

Dereferenzierung

Aliase

Was sind Aliase? Referenzen auf ein Objekt.

Entstehung

Vorteile

Nachteile

Literale

Strings

Symbole

Arrays

Semantiken

Wertsemantik, Welche Sprachen?

Verweissemantik

Call-By-Value

Call-By-Reference

Vertauschen von Variablen

Kontrollstrukturen

Sprachen

Java

Collections

Algorithmus zum dynamischen Binden

abstrakte Klassen

Sichtbarkeit, private, protected, public

Typsystem, Wildcards, obere/untere Schranken, Typsicherheit, Arrays, generische Parameter

Eiffel

kovariante Redefinition

C#

Properties

ref

out

virtual

override

new

unsafe

Smaltalk

Zwischenobjekte

Nachrichten, Schlüsselwortnachrichten, binäre Nachrichten, unäre Nachrichten

Blöcke

Strongtalk, Syntax

C++

Typen

Typsystem

Ein Typensystem umfasst: 1) Typausdrücke 2) Werausdrücke 3) Regeln die Wertausdrücken Typen zuordnen 4) Regeln die von Wertausdrücken einzuhalten sind

Typisierung

Typkorrektheit

Was ist Typkorrektheit? Ein Programm, indem alle Variablenbelegungen alle Typinvarianten erfüllen.

Typprüfung

statisch

dynamisch

Subtypen

Ein Subtyp muss überall dort eingesetzt werden können, wo der Supertyp verlangt wird

LSP, Substitutionsprinzip

Kontravarianz

Kovarianz

Konformität, syntaktisch, Verhaltenskonformität

Typäquivalenz

nominale Typäquivalenz

strukturelle Typäquivalenz, Type Branding

Subtyping vs Subclassing

Schnittstellen

Typendefinition

Ein Typ wird durch die Menge der Methoden die es versteht, also um sein Protokoll definiert. Der Typ umfasst die Menge der Objekte, die über das Protokoll verfügen.

Typenkostruktoren

Schema für Typendefinition

Induktiver Aufbau von Typen und Semantik, denotationale Semantik, operationale Semantik

Zuweisungskompatibilität

Typenerweiterung

Zuweisungskompatibilität verlangt keine Typenäquivalenz. Der Typ auf der rechten Seite der Zuweisung darf eine Erweiterung des Typs auf der linken Seite sein.