Glossar für Onlinemarketing, eCommerce & Webdesign

A B C D E F G H I J K L M N O P Q R S T U V W Z

Objektattribut

Ein Objektattribut definiert die Eigenschaft eines Klassenobjekts innerhalb eines objektorientierten Softwareprogramms. Objektattribute legen innerhalb von Objektklassen fest welche Werte oder welches Verhalten gültig sind.

Was ist ein Objektattribut?

Objektattribute beschreiben die Eigenschaften eines Objekts, wohingegen das Verhalten die Methoden beschreibt die ein Objekt tun kann. Objektattribute sind somit digitale Daten und Form von Variablen des Programms – innerhalb eines Objekts werden diese als Objektvariablen bezeichnet.

Methoden = Funktionen

Welche Beziehung haben Klassen zu Objekten?

Klassen sind nur die reinen Beschreibungen von Objekten. Aber genauso wie Baupläne nur dem Zweck dienen Objekte in Form von Gebäuden zu erstellen, so dienen Klassen in der Programmierung dem Zweck Objekte zu erzeugen. Die Erzeugung eines Objekts nennt sich Instanziierung.

Was sind Klassenobjekte?

Eine Klasse kann beliebig viele Objekte dieser Klasse erzeugen.

Klassen sind unabhängige Einheiten, die sowohl die Daten als auch den Code, der mit den Daten arbeitet

Objektattribute in Java

In der objektorientierten Programmiersprache Java sind Klassen ebenfalls zugleich Objekte. Die Programmiersprache Java nutzt Objektattribute verstärkt um Einheiten innerhalb von Javaprogrammen zu kapseln. Die konsequente Nutzung von Objektattributen in Java gilt als guter Programmierstil und unterstützt eine leichte Portierbarkeit und Anpassung, nicht nur bei Javaprogrammen.

Jetzt lesen: Wie Du Software agil entwickelst und deine Softwareprogramme leicht portierbar gestaltest.


Objekte

Objekte werden aus einer Klasse erzeugt. In der objektorientierten Programmierung werden Objekte instanziiert, die auf Klassen basieren. Allgemein versteht der Informatiker unter Objekten Größen oder Daten, die bei der Programmierung auftreten können.

Was ist ein Objekt?

Ein Objekt ist eine Einheit, die einen inneren Zustand (Variable) nutzen und diese durch bestimmte Nachrichten (Methoden) verändern kann um so auf bestimmte Systembefehle reagieren zu können. Der digitale Informationsaustausch zwischen Objekten erfolgt über das Senden und Empfangen von Nachrichten.

Objekte und Klassen

Objekte sind die aus erzeugten Strukturen die objektorientierte Programmiersprachen wie Java nutzen um Programmteile zu kapseln. Mit Klassenobjekten ist es leicht möglich Quellcode modular und übersichtlich zu gestalten.

Objekte als konkrete Realisierung einer Klasse

Ein Objekt ist eine konkret realisierte Struktur einer Klasse innerhalb eines objektorientierten Programms.

Objekte in Programmen und Klassen

Objekte innerhalb eines Programms sind mit Objekten im realen Leben vergleichbar, zum Beispiel Stuhl, Tisch und Computer als Objekte innerhalb eines Zimmers. Diese Objekte können sich wieder aus anderen Objekten zusammensetzen. Der Computer zum Beispiel besteht aus einer Tastatur, einem Prozessor, dem Bildschirm und der Festplatte sowie weiteren Komponenten die sich als Objekt modellieren lassen.

Objekte und Instanzen

Objekt und Instanz bezeichnet im Grunde dasselbe, nämlich eine konkrete Ausprägung eines aus einer Klasse heraus erzeugten Programmkonstrukts, dem Objekt oder der Klasseninstanz. Wenn der Wert einer Variable in allen Instanzen (Objekten) dieser Klasse gleich ist, spricht der Programmierer von einer Klassenvariable. In der Programmiersprache Java werden Klassenvariablen mit dem Schlüsselwort static deklariert.

Beispiele für instanziierte Objekte

Die Adresse innerhalb einer Adressverwaltung, der Name einer Person sind konkrete Objekte und gute Beispiele für ein instanziiertes Objekt.

Was ist Kapselung von Objekten?

Das Kapseln von Objekten ist ein Konzept in der Programmierung, das sicherstellt, dass bestimmte Variablen oder Methoden nur innerhalb einer Klasse sichtbar sind. Gekapselte Objekte werden in der Regel als private Methoden oder Variablen definiert. Wenn Eigenschaften und Methoden in einer Klasse gekapselt sind, können wir uns die Klasse als eine Box vorstellen, in dem diese Eigenschaften und Methoden zusammengeführt bzw. gebündelt sind Gekapselte Klassen bilden somit logische Einheiten.

Objekte versus Primitive

Mit Objekten kann der Programmierer arbeiten, Objekte sind meist komplexere Strukturen, der Gegensatz dazu ist eine primitive Datenstruktur, auch Primitive genannt.

Vorteile von Klassen und Objekten

Einer der größten Vorteile von Klassen und Objekten ist die beliebige Wiederverwendbarkeit definierter Programmlogik. Objekt-Ressourcen stehen in Form vielfältigster Objektklassen zur freien Verwendung.

Jetzt lesen: Wie Du Software agil entwickelst und deine Softwareprogramme leicht portierbar gestaltest.


Objektklasse

Eine Objektklasse ist das zentrale Bestandteil eines objektorientierten Programms. Objektklassen enthalten somit jeweils eine Idee mit einer programmtechnische Beschreibung eines Objekts.

Was ist eine Objektklasse?

Die Objektklasse erzeugt Elementen und Methoden der einzelnen Funktionen objektorientierter Programme. Jedes Softwareprogramm besteht heute aus einer Vielzahl von Objektklassen und Objektmethoden. Dabei spezifiziert jede Objektklasse jeweils genau das, was das Programm in Form einer digitalen Softwarelösung dem Anwender bieten soll.

Beispiele für Objekt-Klassen

  • Bauplan für eine Softwareoberfläche
  • Berechnungsobjekte innerhalb eines Kalkulationsprogramms
  • Eine Klasse Firma, die Firmenname, Umsatzsteuer-ID und Firmenanschrift verwaltet
  • Eine Klasse Person die Name, Vorname, Funktion und Abteilung organisiert

Objektklassen können auch sichtbare Teile ihres Programms repräsentieren, wie beispielsweise einen Button, ein Texteingabefeld oder ein Fenster. Ebenso kann eine Objektklasse unsichtbare, also imaginäre Objekte repräsentieren.

Vorteile von Objektklassen

Das Objektklassenkonzept objektorientierter Programmiersprachen bietet den Vorteil, dass jederzeit an jeder Stelle beliebige neue Klasse definiert und ergänzt werden können. Damit ist die klassenorientierte Programmierung unglaublich flexibel.

Aus welchen Elementen besteht eine Objektklasse?

Jede Objektklasse besteht aus zwei Elementen: Den Objektattributen und dem Klassenverhalten. An einem konkreten Beispiel wird dies deutlich:

  • Objektattribute: Name, Größe, Gewicht, Geschlecht, Alter
  • Objektverhalten: gehen, rennen, essen, schlafen, essen

Objektklassen und Objektattribute

Attribute beschreiben die Eigenschaften eines Objekts, wohingegen das Verhalten die Methoden beschreibt die ein Objekt tun kann. Attribute sind somit Daten und Form von Variablen des Programms – innerhalb eines Objekts werden diese als Objektvariablen bezeichnet.

Methoden = Funktionen

Welche Beziehung haben Klassen zu Objekten?

Klassen sind nur die reinen Beschreibungen von Objekten. Aber genauso wie Baupläne nur dem Zweck dienen Objekte in Form von Gebäuden zu erstellen, so dienen Klassen in der Programmierung dem Zweck Objekte zu erzeugen. Die Erzeugung eines Objekts nennt sich Instanziierung.

Was sind Klassenobjekte?

Eine Klasse kann beliebig viele Objekte dieser Klasse erzeugen.

Klassen sind unabhängige Einheiten, die sowohl die Daten als auch den Code, der mit den Daten arbeitet

Objektklassen in Java

In der objektorientierten Programmiersprache Java sind Klassen ebenfalls zugleich Objekte.


Objektorientierte Programmierung

Die Objektorientierte Programmierung basiert auf einer Welt voll digitaler Objekte und definiert Programmiersprachen neu. Mit dem revolutionären Konzept der objektorientierten Programmierung bieten Klassen, Klassenmethoden und gekapselte Objekte moderne Programmierkonzepte um Computerprogramme modular und leicht portierbar zu gestalten.

Was ist neu an objektorientierter Programmierung?

Die imperative Programmierung basierte auf hintereinander ausgeführten Programmbefehlen. Statt Programme nur auf Prozeduren und aufeinanderfolgenden Daten und Programmroutinen aufzubauen bietet die objektbasierte Programmierung einen neuen Ansatz. Dabei orientiert sich das Konzept der Objektorientierung an dem Verständnis wie auch wir Menschen unsere Umwelt wahrnehmen, nämlich in Form von Objekten und Funktionen und deren Interaktionen in Form unterschiedlicher Programmaktivitäten und Kommunikation untereinander.

Die 4 Grundpfeiler der objektorientierten Programmierung

Die 4 Grundpfeiler der objektorientierten Programmierung: 1) Generalisierung, 2) Vererbung, 3) Kapselung und 4) Polymorphismus.

In 3 Schritten zur objektorientierten Programmierung:

  1. System in Einzelteile zerlegen
  2. Unabhängige Komponenten programmieren
  3. Vererbung nutzen und Programm-Schnittstellen definieren

Was beinhaltet ein objektorientierter Programmentwurf?

Ein objektorientierter Programmentwurf unterteilt die Programmlogik in viele kleine unabhängige Komponenten (Objekte), die zusammen das digitale Abbild der Realität bilden. Aus einzelnen Bausteinen, ergibt sich das Objekt. Komplexere Objekte können aus einfachen Objekten zusammengesetzt wurden. Ganz wie in der Realität!

Die Struktur der Objekte wird in objektorientierten Programmiersprachen durch Klassen festgelegt, die wie eine Schablone für den Aufbau der Programmobjekte funktionieren.

Vorteile objektorientierter Programmierung:

Die folgenden Merkmale der objektorientierten Programmierung sind zugleich die Vorteile der Objektorientierung:

  • Objekte, Klassen und Methoden
  • Vererbung
  • Kapselung
  • Wiederverwendung
  • Funktionen mit Parametern
  • Punktnotation
  • Abfrage von Eigenschaften
  • Klassenbibliotheken

Vererbung und damit Wiederverwendung sind Konzepte, die dazu geführt haben, dass die Objektorientierung in den gesamten Entwicklungszyklus integriert wurde. Die Wiederverwendung von Softwarekomponenten in Form von Klassen erhöht im allgemeinen die Qualität von Software und trägt dazu bei Kosten zu reduzieren.

Objektorientierte Programmierung mit UML visualisieren

Die Modellierung dient zur Veranschaulichung und um Softwarearchitekturen und Programmierkonzepte unter Informatiker und Programmierer leicht verständlich zu dokumentieren. Mit der Notation UML lässt sich die Beziehung zwischen Klassen und Methoden einfach und gut verständlich modellieren. Dabei visualisiert der Programmierer mit Klassendiagrammen, Sequenzdiagrammen oder einem Use-Case-Diagramm den Zweck und die Verwendung der erstellten Objekte, Klassen und Methoden.

Die wichtigsten Grundlagen für objektorientierte Programmierung:

Hinweis: Klicke auf jeden Links um detaillierte Informationen zu den Kernprinzipien objektorientierter Programmierung zu erfahren! 

  1. Generalisierung
  2. Vererbung
  3. Kapselung
  4. Polymorphismus

Objektorientierung und Agile Softwareentwicklung

Einer der größten Vorteile der Objektorientierung in der Programmierung ist die beliebige Wiederverwendbarkeit definierter Programmlogik. Objektressourcen stehen in Form vielfältigster Objektklassen zur freien Verwendung.

Jetzt lesen: Wie Du Software agil entwickelst und deine Softwareprogramme leicht portierbar gestaltest.


Objektorientierung

Objektorientierung ist ein modernes Konzept in der Programmierung. Dabei kann Objektorientierung als eine Technologie verstanden werden mit der Programmiersprachen so gestaltet sind, dass gezielt Objekte zur Gestaltung und Realisierung von Software genutzt wird.

Was ist Objektorientierung?

Mit der Objektorientierung verfügt jedes Objekt über eigene Daten und Logik. Jedes Objekt lässt sich somit in einer vom Programmierer vordefinierten Logik verwenden. Objektorientierte Softwareprogramme sind speziell so aufgebaut, dass einzelne Programmbestandteile modular konzipiert sind und zukünftige Codeerweiterungen somit einfach und schnell umsetzbar sind.

Vorteile von Objektorientierung

Die folgenden Merkmale gelten vielfach zugleich als Vorteile von Objektorientierung bei der Programmierung:

Vererbung und damit Wiederverwendung sind Konzepte, die dazu geführt haben, dass die Objektorientierung in den gesamten Entwicklungszyklus integriert wurde. Die Wiederverwendung von Softwarekomponenten in Form von Klassen erhöht im allgemeinen die Qualität von Software und trägt dazu bei Kosten zu reduzieren.

Wie funktioniert objektorientierte Programmierung?

Objektorientierte Programme nutzen Kapselung und Daten eines Objekts so eng mit seinen Funktionen zu verbinden, dass Objekt und Methoden nach außen hin nur gemeinsam – in Form von Ein- oder Ausgabedaten einer Operation – sichtbar werden. Somit erhöht sich durch objektorientierte Software auch die Sicherheit von Software, denn die interne Struktur der Daten bleibt nach außen genauso wie alle nicht als „öffentlich“ deklarierten Funktionen verborgen.

UML und Objektorientierung

Um Programmierkonzepte und Objektorientierung optimal zu verstehen ist die Modellierung eines Softwarekonzepts sinnvoll. Die Modellierungssprache UML hat ihre Wurzeln in der Objektorientierung und verwendet das Klassendiagramm sehr häufig. Die Beziehungen der Objekte zur Laufzeit werden mit Objektdiagrammen modelliert.

Objektorientierung und Agile Softwareentwicklung

Einer der größten Vorteile bei konsequenter Objektorientierung ist die beliebige Wiederverwendbarkeit definierter Programmlogik. Objektressourcen stehen in Form vielfältigster Objektklassen zur freien Verwendung.

Jetzt lesen: Wie Du Software agil entwickelst und deine Softwareprogramme leicht portierbar gestaltest.


Observer Pattern

Was ist ein Observer Pattern?

Das Observer Pattern ist ein verhaltensorientiertes Software Design Pattern. Dabei ist das Verhalten eines Observer Pattern auf die Prozesse eines Softwaresystems ausgerichtet. Damit steuert das Konzept des Observersdesigns effektiv Updates und Statusänderungen für eine Vielzahl von Prozessen.

Observer Pattern - Software Design Pattern

Observer Pattern: Mit dem Softwaredesign des Observer-Entwurfsmuster lassen sich mittels eines Subjektes eine Anzahl von Prozessen observieren. Dabei wird die Darstellung (Views) mittels des Konzepts einer modellierten Abstraktion von den überwachten Objekten entkoppelt. Observerlösungen sind immer dann von Vorteil, wenn es gilt eine große Anzahl von Objekten und Prozessen zu überwachen.

Observer und Subjekt

Mit dem Observer-Pattern wird ein Objekt (bezeichnet als das Subjekt) vorgehalten, dass eine Liste abhängiger Interfaces (die sogenannten Observer) enthält, zur Prozessüberwachung genutzt. Über diese Observerliste werden alle angebundenen Klassen und Funktionen automatisch über Statusänderungen informiert.

  • Das Subjekt repräsentiert das Entity-Objekt.
  • Observer verbinden sich zu dem Subjekt indem sie die Methode subscribe() aufrufen.
  • Jeder Observer verfügt über eine unterschiedliche Darstellung (View) des Status seines Entity-Objekts:
    • Der Status ist in der Unterklasse des jeweiligen konkreten Subjekts enthalten.
    • Jeder Status kann über die Unterklassen des Typs ConcreteObserver überwacht und verändert werden.

Alle Statusupdates erfolgen über die Observermethoden

Typischerweise werden Statusupdates an die Observer weitergegeben indem das Subjekt eine oder mehrere der Observermethoden aufruft.

The Observer Pattern decouples an Abstraction from its Views!

Wann ist das Observer-Pattern nützlich?

Wenn viele zu überwachende Objekte ein regelmäßiges Update erfordern, und auf den Status von Softwareelementen viele Änderungen erfolgen, ist das Observer Pattern von Nutzen. Solche häufigen Statusupdates ergeben sich immer dann, wenn Attributwerte (Variablen) sich in hoher Frequenz verändern.

Anwendungsbeispiele für das Observer-Pattern

  • Aktienkurse mit Tausenden von Kursänderungen.
  • Das Subjekt (Publisher= sendet viele Kursänderungen an den Observer.
  • Der Observer (Subscriber) nimmt die Kurswerte entgegen die für ihn relevant sind und verwendet diese.
  • Unterstützt Konsistenz über eine Vielzahl – auch redundanter – Status.

3 Varianten für Observer-Lösungen:

  1. Push-Notification: Für jede Statusänderung des Subjekts werden alle Observer über die Änderung benachrichtigt.
  2. Push-Update-Notification: Das Subjekt sendet seinen veränderten Status ebenfalls an die Observer.
  3. Pull-Notification: Ein Observer fragt den Status des Subjekts an.

Ferner sind diese oben aufgeführten Variationen auch als Publish() und Subscribe() bekannt.

Vorteile des Observer Pattern

  • Lockere, freie Kopplung (Loose coupling).
  • Das Subjekt (Publisher)  braucht nicht alles über den Observer (Subscriber) zu wissen.

Nachteile des Observer Pattern

Infolgedessen beinhalten Observerlösungen auch einen zuweilen unerwünschten Nebeneffekt:

  • Dem Subjekt (Publisher) ist es gestattet Updates zu senden, auch wenn diese für den Observer (Subscriber) nicht relevant sind

Schließlich ist das Observerkonzept ein musterbasiertes Modell für zuverlässige Softwareanwendungen. Dementsprechend unterstützen Observer die agile Entwicklung von Software und bieten handfeste Vorteile für die Organisation und Beschleunigung bei der Programmierung im Team.

Jetzt lesen: Digitale Transformation – Wie Digitalisierungsprojekte gelingen!


|