Anwendungsentwickler-Podcast #2: Häufige Fragen im Fachgespräch – Objektorientierung

Dieser Beitrag ist Teil 1 von 13 in der Serie Häufige Fragen im Fachgespräch.

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

Links

Navigation der SerieAnwendungsentwickler-Podcast #6: Häufige Fragen im Fachgespräch – Kapselung >>

2 thoughts on “Anwendungsentwickler-Podcast #2: Häufige Fragen im Fachgespräch – Objektorientierung

  1. Hi Stefan,

    ich wollte dir für deine Podcasts und Vorlagen danken, die du veröffentlicht hast. Die Sachen haben mir für die Vorbereitung auf die Abschlussprüfung sehr geholfen und mich im Endeffekt auch erfolgreich durchgebracht :). Ich hoffe, dass noch viele neue Azubis von deiner Arbeit profitieren können.

    Vielen Dank und Viele Grüße
    Dennis

  2. Hallo Dennis,

    freut mich, dass ich helfen konnte. 🙂

    Herzlichen Glückwunsch zur bestandenen Prüfung!

    Ich wünsche dir einen guten Start in den Beruf.

    Viele Grüße!
    Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax