Häufige Fragen im Fachgespräch – Programmierung (Teil 2) – Anwendungsentwickler-Podcast #13

IT-Berufe-Podcast - Ein Podcast von Stefan Macke - Montags

In der dreizehnten Episode meines Anwendungsentwickler-Podcasts beende ich meine Liste der häufigen Fragen rund um die Programmierung im Fachgespräch. Objektorientierung * Was bedeutet das Schlüsselwort this? * Zeiger auf das aktuelle Objekt. * Was bedeutet static? * Statische Attribute oder Methoden können ohne eine Instanz ihrer Klasse verwendet werden. * Was sind Vor-/Nachteile static? * Statische Methoden sind gut testbar, da sie keinen Objektzustand verwenden. Sie können aber z.B. nicht überschrieben werden. * Was ist ein Konstruktor? * Ein Konstruktor ist eine besondere Methode, die eine Objektinstanz erzeugt. * Welche Parameter sollte ein Konstruktor haben? * Ein Konstruktor sollte alle Parameter bekommen, die nötig sind, um ein Objekt in einem gültigen Zustand zu erzeugen. * Was sind Enumerations? * Enumerations sind Datentypen mit einer endlichen Menge an erlaubten Werten. * Welche Vorteile bieten Listen gegenüber Arrays? * Sie sind redimensionierbar. Sie sind evtl. schneller. Fehlerbehandlung * Was sind Exceptions? * Eine Exception beschreibt eine Fehlersituation in einem Programm. Sie kann in anderen Teilen des Programms behandelt werden. * Welche zwei Typen von Exceptions gibt es in Java? * Checked (müssen gefangen werden) und unchecked Exceptions. * Was bedeuten die Schlüsselwörter try, catch, throw und throws? * try/catch: umschließen potentiell fehlerhaften Code, throw wirft eine Exception, throws kennzeichnet eine Methode als potentiell fehlerhaft. Tiefergehendes * Was ist Refactoring? * Die semantikinvariante Modifikation von Quelltext. * Was ist Typinferenz? * Durch Typinferenz kann der Compiler den Datentyp einer Variablen ableiten, ohne dass er explizit angegeben werden muss. * Was sind generische Klassen? * Generische Klassen (Generic) stellen allgemeingültige Algorithmen für unterschiedliche Datentypen bereit. * Was sind Ko- und Kontravarianz? * Bei einer Vererbungsbeziehung kann eine Methode in der Subklasse überschrieben werden und dabei ihre Parametertypen anhand deren Vererbungsbeziehungen verändern. Wenn diese Veränderung in die gleiche Richtung geht wie die Vererbungsbeziehung der Methode, spricht man von Kovarianz. Wenn sie gegenläufig ist, spricht man von Kontravarianz. * Beliebtes Beispiel in Java: Listen sind nicht kovariant, d.h. List<String> erbt nicht von List<Object>. Literaturempfehlungen * * Das passende Kapitel im OpenBook: 9 Grundlagen der Programmierung – Rheinwerk Computing :: IT-Handbuch für Fachinformatiker * Links * Permalink zu dieser Podcast-Episode * RSS-Feed des Podcasts * Aufzählungstyp – Wikipedia * Ausnahmebehandlung – Wikipedia *