Objektorientierung in JavaScript/Objekte und Klassen/Einführung in die Objektorientierung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<html>
<head>
<style>
p.dotted {border-style: dotted; padding: 10px;}
</style>
</head>

In der Softwareentwicklung gibt es verschiedene Prinzipien und Herangehensweisen, mit deren Hilfe die Problemlösung vereinfacht werden soll.  Eines dieser Programmierparadigmen ist die Objektorientierung. In diesem Denkansatz wird eine Anwendung aus Objekten aufgebaut, welche miteinander interagieren.
Objektorientierte Programmiersprachen erfreuen sich großer Beliebtheit. Egal ob Java, C++ oder JavaScript - sie alle unterstützen diesen Programmierstil.

<p class=dotted>Die Objektorientierung ist ein <a href="http://de.wikipedia.org/wiki/Programmierparadigma">Programmierparadigma</a> welches eine Anwendung durch interagierende Objekte beschreibt. </p>

In objektorientierter Programmierung soll die reale Welt bzw. die menschliche Sichtweise auf diese abgebildet werden: Ein Zusammenspiel von Objekten wie einer Person und einem Computer, die miteinander interagieren und Nachrichten austauschen. Auch die Klassifikation dieser Objekte entspricht dem Denkmuster eines Menschen.

<table border="1" cellpadding="6">
<tr>
<th>Instanz</th><th>Klasse</th><th>Eigenschaften</th><th>Funktionen</th>
</tr>
<tr>
<td>Bello</td><td>Hund</td><td>4 Pfoten, 2 Augen</td><td>laufen, bellen, essen</td>
</tr>
<tr>
<td>Kanzleramt</td><td>Gebäude</td><td>8 Etagen, 39m hoch</td><td>heizen, Tür öffnen</td>
</tr>
<tr>
<td>Surface Pro 4</td><td>Tabletcomputer</td><td>Intel i7, 16GB RAM</td><td>starten, Foto aufnehmen</td>
</table>

In JavaScript ist das Konzept der objektorientierten Programmierung (OOP) erst recht spät angekommen, da JavaScript-Code häufig nicht sehr umfangreich war und so die Anwendung dieses Prinzips nicht nützlich erschien. Doch mit zunehmender Bedeutung von Skriptsprachen und damit auch größer werdenden Projekten geht der Trend in Richtung Objektorientierung.
In JavaScript wird (zurzeit) das Klassenkonzept noch nicht unterstützt, weshalb es als klassenlose Programmiersprache bezeichnet wird. Mit <a href="http://es6-features.org/">ECMAScript 6</a> sollen aber auch diese eingeführt werden.