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

Dieser Beitrag ist Teil 1 von 15 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.

Probeabo bei Audible (Affiliate)

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 SerieHäufige Fragen im Fachgespräch – Kapselung – Anwendungsentwickler-Podcast #6 >>
Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

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

  1. Dennis Benz sagt:

    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. Stefan Macke sagt:

    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

  3. Arela sagt:

    Hallo Stefan,

    ich muss mich auch mal bedanken. Und mache das einfach mal unter diesem Podcast.
    Die Podcasts sind genial, genau wie der Rest deiner Informationen die du uns zur Verfügung stellst.
    Nicht nur hat mir deine Latex Vorlage das Leben gerettet nachdem ich 6 Wochen im Krankenhaus lag und in zwei Tagen alles fertig schreiben musste. Auch konnte ich die Podcasts hören während ich durch Medikamente halb blind geworden bin und so doch noch lernen. Ich kann so manche Teile schon Wort für Wort mitsprechen 😉

    Jetzt grade steht nur noch mein Fachgespräch aus und der Rest ist bestanden. Ich verdanke dir so viel, am liebsten würde ich dir einen Strauß Blumen schicken.

    Long story short: VIELEN DANK für deine ganze Mühe!

    Liebe Grüße
    Arela

  4. Stefan Macke sagt:

    Hallo Arela, danke für das Feedback. Freut mich, dass ich helfen konnte und kann! 😀

  5. Gülcan sagt:

    Hallo Stefan,
    lieben herzlichen Dank für diese wertvollen Inhalte. Jeder Prüfling, bevor et an der Prüfung teilnimmt, sollte diese hier lernen und den gesamten Stoff hiermit wiederholen.
    Denn, ich denke, dass diese Inhalte von großer Bedeutung sind, da die Informationen schön verständlich, sowie auf das Wesentlichste zusammengefasst sind.
    Super finde ich auch, dass Du sie als AUDIO-Podcast gemacht hast. Denn als zukünftige IT´ler sollte auch ein geschärfter Blick für die Umwelt und Green-IT vorhanden sein. Schließlich hat jedes Video ein sehr hohes Übertragungsvolumen, was die Server zusätzlich belastet. Mit Audio ist die Transferrate erheblich günstiger und somit umweltfreundlicher.
    Wirklich toll, danke.
    Gülcan

  6. Stefan Macke sagt:

    Hallo Gülcan, vielen Dank für dein Feedback. Das freut mich sehr.

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