Java Kurs für Anfänger Einheit 4 Klassen und Objekte



Ähnliche Dokumente
Java Kurs für Anfänger Einheit 5 Methoden

Objektorientierte Programmierung

Vorkurs C++ Programmierung

Programmieren in Java

Einführung in die Java- Programmierung

Einführung in die Programmierung

Objektorientierte Programmierung. Kapitel 12: Interfaces

3 Objektorientierte Konzepte in Java

Java: Vererbung. Teil 3: super()

Computeranwendung und Programmierung (CuP)

Objektorientierte Programmierung OOP

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Programmieren Tutorium

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Einführung in die Programmierung

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

5.5.8 Öffentliche und private Eigenschaften

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

5. Abstrakte Klassen

5. Tutorium zu Programmieren

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Typumwandlungen bei Referenztypen

Innere Klassen in Java

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Programmierkurs Java

1 Vom Problem zum Programm

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

1 Mathematische Grundlagen

Javakurs zu Informatik I. Henning Heitkötter

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Delegatesund Ereignisse

Deklarationen in C. Prof. Dr. Margarita Esponda

Java Einführung Collections

Statuten in leichter Sprache

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Zählen von Objekten einer bestimmten Klasse

Prinzipien Objektorientierter Programmierung

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Wir machen neue Politik für Baden-Württemberg

Software Engineering Klassendiagramme Assoziationen

Aufklappelemente anlegen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Software Engineering Klassendiagramme Einführung

Anforderungsanalyse: Tutor

Dokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Java Virtual Machine (JVM) Bytecode

Lehrer: Einschreibemethoden

5.4 Klassen und Objekte

Objektorientierung: Klassen und Objekte

Hilfedatei der Oden$-Börse Stand Juni 2014

Benutzerhandbuch - Elterliche Kontrolle

Arbeitsblätter. Sinnvolle Finanzberichte. Seite 19

Word 2010 Schnellbausteine

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Javakurs 2013 Objektorientierung

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 22

Institut für Programmierung und Reaktive Systeme 25. August Programmier-Labor Übungsblatt. int binarysearch(int[] a, int x),

Anhang. 3. Was denken Sie: An wen richtet sich das Lernprogramm für Psycholinguistik? zu nicht nicht zu

Javakurs für Anfänger

Erstellen von x-y-diagrammen in OpenOffice.calc

Java Einführung Abstrakte Klassen und Interfaces

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Algorithmen und Datenstrukturen

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

teamsync Kurzanleitung

Arbeiten mit UMLed und Delphi

Umfrage. Didaktischer Kommentar. Lernplattform

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

Anleitung für die Formularbearbeitung

Tutorium 5 - Programmieren

Wie halte ich Ordnung auf meiner Festplatte?

Moodle-Kurzübersicht Kurse Sichern und Zurücksetzen

Anleitung zum neuen Überaumbuchungssystem der Hochschule für Musik und Tanz Köln

Gezielt über Folien hinweg springen

Abschnitt 9: Schnittstellen: Interfaces

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Programmierkurs Java

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

Synchronisations- Assistent

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger

ecaros2 - Accountmanager

Themen. Web Service - Clients. Kommunikation zw. Web Services

Übersicht Programmablaufsteuerung

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Dieses Tutorial gibt eine Übersicht der Form Klassen von Struts, welche Besonderheiten und Unterschiede diese aufweisen.

Grundbegriffe der Informatik

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

Das Typsystem von Scala. L. Piepmeyer: Funktionale Programmierung - Das Typsystem von Scala

Transkript:

Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009

Inhaltsverzeichnis klasse 1 klasse Klassendefinition Klassendeklaration: Klassen-Anatomie 2 3

Das Prinzip von Klassen in Java Klassendefinition Klassendeklaration: Klassen-Anatomie Eine Kuh macht Muh, viele Kühe machen Mühe!

Das Prinzip von Klassen in Java Klassendefinition Klassendeklaration: Klassen-Anatomie Eine Kuh macht Muh, viele Kühe machen Mühe!

was ist eine Klasse? klasse Klassendefinition Klassendeklaration: Klassen-Anatomie was ist eine Java-Klasse? Eine Klasse ist ein Bauplan für eine Menge gleichartiger. Dieser Bauplan legt die Eigenschaften und das Verhalten der fest. Eine Java Klasse bildet ein Teil der Realität ab! Klasse Student (Eigenschaften sind z.b. matrikelnr, Name, FAch, Adresse..) Klasse Personalausweis (Eigenschaften sind z.b. ID, Augenfarbe, Größe, Adresse..)

Klassendefinition Klassendeklaration: Klassen-Anatomie Die Anatomie einer Java-Klasse: Klassendeklaration Teil Syntax Bedeutung package Kommando package ke04; gruppiert zusammengehörige Klassen import Kommando import java.util.*; stellt vordefinierte Klassen zur Verfügung Klassen Kommentare /**...*/ beschreibt die Aufgaben der Klasse Klassendefinition public/protected/private class klassenname{..} Klassenname und Zugriff Konstanten final Datentyp VARIABLE nehmen konstante Werte auf, die nicht mehr änderbar z.b. PI Klassenvariablen static Datentyp variable; Variable existiert unabhängig von n Feldvariablen Datentyp variable speichern die Daten (igenschaften) klassenname(parameterlise){anweisungen;} rzeugungsmuster Methoden Rückgabewert methodename(parameterliste){..} Führen Berechnungen und Operationen (Objektverhalten) innere Klassen innerklasse{..} Ist eine Helpklasse innerhalb einer anderen Klasse Tabelle: Optionale Teile einer Javaklasse

Beispiel für eine Klassenstruktur Klassendefinition Klassendeklaration: Klassen-Anatomie

Goldene Regeln für Klassendefinition Klassendefinition Klassendeklaration: Klassen-Anatomie 1 Deklariere die Feldvariablen als private (Kapselungsprinzip) 2 Initializiere immer die Feldvariablen mit Standardwerten. 3 Benutzte nicht zu viele einfachen Datentypen in einer Klasse 4 Benutzte Standardformat für Klassendeklaration 5 Ersetzte eine komplexe Klasse durch n einfache Klassen! 6 Gib die Klasse, Methoden und Variablen aussagekräftige zweckspiegelende Namen

Klassendefinition Klassendeklaration: Klassen-Anatomie Programmieraufgaben für Klassendefinition Aufgabe 4.1. Klasse Student 1 Programmiere eine Klasse, die Student heißt und wichtige Merkmale/Eigenschaften eines Studenten festlegt. TIPP: welche Eigenschaften stehen in Ihrem Studentenausweis? Aufgabe 4.2. Klasse Mitarbeiter 1 Programmiere eine Klasse, die Mitarbeiter heißt und die wichtigen Merkmale/Eigenschaften eines Mitarbeiters in einer Firma festlegt.

Definiton von n Defintion von n Ein Objekt ist ein eindeutiges Instanz seiner Klasse und verfügt daher über alle ihrer Eigenschaften und Methoden.

Definiton von n Defintion von n Ein Objekt ist ein eindeutiges Instanz seiner Klasse und verfügt daher über alle ihrer Eigenschaften und Methoden.

Goldene Regeln für 1 Ein Java-Objekt hat 1 einen aktuellen Zustand: Wertbelegungen der Feldvariablen 2 Verhalten: Methoden, die es ausführen kann (seine Methoden) 3 eine Identität:jedes Objekt ist einmalig und hat eindeutige Speicheradressen. 2 rzeugung: Operator new + Konstrukturaufruf 3 Zugriff auf Feldvariablen innerhalb der Klasse objektname.feldvariable aber lieber über Methoden. 4 Zugriff auf Feldvariablen außerhalb der Klasse Nur über Methoden (Falls die Feldvariablen nicht als public deklariert sind!)

klasse oder Informationsverbergen ist 1 von Daten und Verhalten in einem Objekt 2 Verbergen der Implementationsdetails vom Objekt-Benutzer

klasse oder Informationsverbergen ist 1 von Daten und Verhalten in einem Objekt 2 Verbergen der Implementationsdetails vom Objekt-Benutzer

Goldene Regeln für das Kapselungsprinzip 1 Kapselungsprinzip wird erreicht durch Verbieten des direkten Zugriffs auf die Daten (private Feldvariablen) Erlauben des indirekten Zugriffs auf die Daten über Methoden. 2 Vorteile des Kapselungsprinzipes beliebige Änderungen der Daten ohne dass der Benutzer davon betroffen wird. 3 Alle Java Klassen sind nach dem Kapselungsprinzip implementiert.

erzeugen: Ein Konstruktur ist ein Erzeugungsmuster für die KlassenName(optionale Parameter Liste){ feldvariable_1 = parameter 1; feldvariable_n = parameter n; } Beispiel Konstruktur für KlassenDemo KlassenDemo(String meinname, int meinid){ name = meinname; id = meinid; }

Goldene Regeln für I 1 Ein Konstruktur muss den gleichen Namen wie seine Klasse haben sowie eine optionale Parameterliste in runden Klammern und ein Bock von optionalen Anweisungen. 2 Ein Default-Konstruktur: klassenname(){} ist ein Konstruktur mit leerer Parameterliste und wird von Java für jede Klasse implizit zur Verfügung gestellt. 3 Der Default-Konstruktur: klassenname(){} steht nicht mehr implizit zur Verfügung und muss explizit hinzugefügt werden, wenn die Klasse einen eigenen Konstruktur definiert. 4 Erzeugung eines Objekt ein Objekt wird durch den Aufruf eines bestimmten Konstruktur seiner Klasse mit new Klassenname(Wertbelegung par 1,..Wertbelegung par n) seiner Parameterliste erzeugt.

Goldene Regeln für II 5 (Optionale Parameterliste) kann Parameter für alle Feldvariablen, Teil davon oder für keine enthalten. Die Anzahl 6 Die Anzahl der lokalen Variablen in einer Parameterliste kann auch wegen zusätzlichen Hilfsvariablen mehr als die Anzahl der Feldvariablen sein. 7 Mehrere können in einer Klasse vorkommen. Sie müssen unterschiedliche Parameterlist haben. Auch zwei Parameterliste mit den gleichen Typen aber verschiedene Reihenfolge sind unterschiedlich. 8 Wertbelegungen der Parameter muss in die gleiche Reihenfolge der Parameterliste sein.

Erzeugung von n: Was geschieht im Hintergrund?

Programmieraufgaben für Aufgabe 4.3. Programmieren Sie für die Klasse Student 6 ohne den Standardkonstruktur zu verberen. 1 Konstruktur I: name 2 Konstruktur II: name, matrikel-nr 3 Konstruktur III: name, matrikel-nr und Studienfach 4 Konstruktur IV: name, matrikel-nr, Studienfach und Geburtsort 5 Konstruktur V: name, matrikel-nr, Studienfach, Geburtsort und Geburtsdatum Erzeugen Sie mit Hilfe der 6 jeweils ein konkretes Objekt und drücke es aus! TIPP I und die goldenen Regeln ansehen!

this Schlüsselwort klasse this bezieht sich (refernziert) auf das aktuelle Objekt this vermeidet das Verbergen von Feldvariablen durch lokale Variablen gleicher Namen. this.variable = variable; lokale Variablen sind die Hilfsvariablen innerhalb und Methoden Parameter this ermöglicht den Aufruf von einem Konstruktur innerhalb eines anderen. Der Aufruf mit this muss als erste Anweisung sein.

Benutzung von this klasse

Programmieraufgaben für das Benutzen von this Aufgabe 4.4. mit this Programmieren Sie für die Klasse Student 6 ohne den Standardkonstruktur zu verberen und unter Benutzung von this. 1 Konstruktur I: name 2 Konstruktur II: name, matrikel-nr 3 Konstruktur III: name, matrikel-nr und Studienfach 4 Konstruktur IV: name, matrikel-nr, Studienfach und Geburtsort 5 Konstruktur V: name, matrikel-nr, Studienfach, Geburtsort und Geburtsdatum Erzeugen Sie mit Hilfe der 6 jeweils ein konkretes Objekt und drücke es aus! TIPP Folien vom dem Schlüsselwort this ansehen!

Was haben wir gelernt? In dieser Einheit haben wir folgende Konzepte gelernt: 1 Das Prinzip von Klassen 2 Das Prinzip von n 3 4 Erzeugung von n 5

Was kommst in nächster Einheit? In nächster Einheit werden wir folgende Konzepte lernen: 1 Methoden in Java 2 Methoden mit void 3 Methoden mit return 4 Static Methoden und Variablen 5 ausdrücken, vergleichen