Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur eBooks für mein Endgerät anzeigen:

 

Newsletter

Java 6 master class - Einstieg für Anspruchsvolle

Java 6 master class - Einstieg für Anspruchsvolle

von: Karsten Samaschke

Addison-Wesley Verlag, 2007

ISBN: 9783827324023, 530 Seiten

Format: PDF, OL

Mac OSX,Windows PC Apple iPad, Android Tablet PC's Online-Lesen für: Linux,Mac OSX,Windows PC

Preis: 19,95 EUR

Ersparnis: 10,00 EUR

  • Mastering Photoshop for Web Design, Vol. 2
    Rapid Web Development mit Python - Web-2.0-Anwendungen mit TurboGears
    Grundkurs funktionale Programmierung mit Scala
    Die UML-Kurzreferenz 2.0 für die Praxis - Kurz, bündig, ballastfrei
    Objective-C und Cocoa - Band 2: Fortgeschrittene
    Seminar on Stochastic Analysis, Random Fields and Applications V - Centro Stefano Franscini, Ascona, May 2005
    MongoDB - Sag Ja zu NoSQL
    Molecular Targeting in Oncology
  • Successful Freelancing For Web Designers
    Data Mining - Verfahren, Prozesse, Anwendungsarchitektur
    The Smashing Book #1
    Anatomie der Vögel - Klinische Aspekte und Propädeutik
    Getting the Hang of Web Typography
    Kryptografie mit JAVA - Grundlagen & Einführung zur Kryptografischen Programmierung mit JAVA
    Professional Web Design, Vol. 2
    Der Traum - Phänomen, Prozess, Funktion
 

Mehr zum Inhalt

Java 6 master class - Einstieg für Anspruchsvolle


 

3 Objektorientierte Programmierung (S. 51-52)

In diesem Kapitel werden wir eines der wichtigsten Themen bei der Entwicklung mit Java und auch anderen modernen Hochsprachen besprechen: die Objektorientierung.

Objektorientierte Programmierung bedeutet einen Wandel in der Herangehensweise gegenüber traditionellen Verfahren – statt in Abläufen denkt man nun in Objekten. Eine Lösung – egal, ob eigenständiges Programm oder kleine Komponente – besteht dabei immer aus Objekten, die bestimmte Strukturen repräsentieren.

Das Geheimnis objektorientierter Programmierung besteht darin, zusammengehörige Daten und Methoden in einer eigenen Struktur zu kapseln.

Dadurch werden gleich mehrere Ziele erreicht:

Der Quellcode wird übersichtlicher, weil besser strukturiert.
Der Quellcode wird modularer, weil in einzelne kleine Bestandteile zerlegt.
Der Quellcode wird wiederverwendbarer, da einzelne Elemente in sich abgeschlossen sein können. Der Quellcode wird sicherer, denn in kleineren Elementen und Strukturen kann man Fehler besser erkennen.
Einzelne oder alle Komponenten einer Applikation können auf Wunsch in anderen Applikationen weiterverwendet werden.

Wie Sie diese Ansprüche verwirklichen, werden wir im Folgenden betrachten.

3.1 Klassen und Objektinstanzen

»Objektorientierung« ist eines der sogenannten Buzz-Words der 90er Jahre gewesen: Alles wurde auf einmal objektorientiert, viele Sprachen wurden mit objektorientierten Ansätzen versehen – meist nicht unbedingt zu ihrem Besten, denn eine nachträglich aufgepfropfte Objektorientierung leidet oftmals unter Einschränkungen und Limitierungen, die die alltägliche Arbeit unnötig verkomplizieren.

Dies ist anders bei Java, denn Java ist von vornherein als objektorientierte Sprache entwickelt worden. Hier ist Objektorientierung nicht nachträglich aufgesetzt, sondern integraler Bestandteil der Sprache. Bis auf die primitiven Datentypen ist bei Java alles ein Objekt.

3.1.1 Abstraktion
Die wichtigste Idee der objektorientierten Programmierung ist die Trennung von Konzept und Umsetzung. Dies bedeutet, dass ein fundamentaler Unterschied zwischen einer Klasse und einem Objekt existiert: Eine Klasse beschreibt eines oder mehrerer Objekte, während das Objekt eine konkrete Manifestierung einer Klasse darstellt.

Nehmen wir ein Beispiel. Denken Sie generell an Autos – nicht an ein bestimmtes Fabrikat oder ein bestimmtes Modell, sondern an das, was ein Auto ausmacht: Autos bestehen aus Reifen, Türen und einem Motor. Sie verfügen über eine Farbe und haben einen Kilometerstand, der angibt, wie weit das Fahrzeug schon bewegt worden ist. Autos können fahren und dabei eine bestimmte Anzahl an Personen transportieren. All dies sind Eigenschaften und Fähigkeiten aller Autos – nicht eines konkreten Fahrzeugs. Derartige Eigenschaften und Fähigkeiten (wir sprechen hier allerdings eher von Methoden) können in einer Klasse definiert werden.