Häufige Fragen im Fachgespräch – Objektorientierung – Anwendungsentwickler-Podcast #2
IT-Berufe-Podcast - Un pódcast de Stefan Macke - Lunes
Categorías:
In der zweiten Episode des Anwendungsentwickler-Podcasts geht es um eine der häufigsten – wenn nicht die häufigste – Frage im Fachgespräch: Was ist Objektorientierung? Mit der Antwort auf diese Frage kann man ohne Weiteres 10 Minuten und mehr füllen, daher gebe ich ein paar Tipps, wie man sinnvoll mit dieser Frage umgeht. Allgemeines zu Prüfungsfragen im Fachgespräch * Frei sprechen und nicht auswendig lernen. * Präzise antworten und nicht rumlabern. * Strukturiert antworten und nicht von Thema zu Thema springen. * Vom Allgemeinen zum Speziellen vorgehen. * Woimmer es geht Beispiele bringen. * Fachbegriffe korrekt verwenden. Objektorientierung * Allgemein: Die Objektorientierung ist ein Programmierparadigma, das mit Objekten arbeitet. Es zeichnet sich hauptsächlich durch drei Konzepte aus: Kapselung, Vererbung und Polymorphie. * Programmierparadigma: Vorgehensweise bei der Programmierung, z.B. objektorientiert, funktional, strukturiert. * Objekt: Ding der realen Welt, z.B. Hund, Tisch, Versicherungsvertrag. Ein Objekt hat Eigenschaften (Attribute) und Funktionen (Methoden), z.B. die Augenfarbe des Hundes oder die Policierung eines Versicherungsvertrags. * Klasse: Viele objektorientierte Programmiersprachen verwenden Klassen als Baupläne für Objekte, z.B. Fahrzeug oder Person. Objekte sind dann Instanzen dieser Klassen, z.B. der blaue Mercedes oder Stefan Macke. Klassen definieren, welche Attribute und Methoden jedes Objekt der Klasse hat, aber die konkreten Ausprägungen des Objekts können dann unterschiedlich sein. * Kapselung: Objekte kapseln Attribute und die zugehörigen Methoden. Der Zugriff auf die Attribute sollte nur über entsprechende Methoden möglich sein, damit die Manipulation der Werte verhindert wird und das Objekt immer in einem gültigen Zustand ist. * Vererbung: Klassen können Attribute und Methoden an andere Klassen vererben. Damit stehen die Attribute und Methoden der vererbenden Klasse der erbenden Klasse direkt zur Verfügung. Die vererbende Klasse nennt man Basisklasse und die erbende Klasse Subklasse. * Polymorphie: Heißt Vielgestaltigkeit und bedeutet, dass Variablen Objekte unterschiedlichen Typs zugewiesen werden können, die sich beim Aufruf derselben Methode dann unterschiedlich verhalten. Dies ist bei Vererbung oder Verwendung von Interfaces der Fall. Überall wo eine Basisklasse oder ein Interface erwartet wird, kann auch eine Subklasse oder implementierende Klasse verwendet werden. Methoden können z.B. in Subklassen überschrieben werden und damit eine andere Implementierung enthalten als die Basisklasse. Wird nun die Subklasse übergeben, wo eigentlich die Basisklasse erwartet wird, wird die Methode der Subklasse aufgerufen. Häufige Anschluss-/Teilfragen * Was ist der Unterschied zwischen Objekt und Klasse? * Warum verwendete man Getter/Setter anstatt Attribute sichtbar zu machen? * Was wird in einem Objekt gekapselt? * Was sind die drei wichtigsten Konzepte der Objektorientierung? * Welche Programmierparadigmen gibt es? Literaturempfehlungen * Helmut Balzert führt auf den ersten Seiten seines Lehrbuchs der Softwaretechnik* die Begriffe der Kapselung, Vererbung usw. verständlich ein. Es werden auch noch viele weitere Prinzipien der (objektorientierten) Programmierung vorgestellt. * * Der Klassiker für alle Java-Entwickler: Christian Ullenboom erklärt in seiner „Java-Insel“ (