Java II. Lernsituationen. Kompetenzorientierte Unterrichtsmaterialien zur Vertiefung der Objektorientierung



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

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

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Java: Vererbung. Teil 3: super()

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Software Engineering Klassendiagramme Assoziationen

Thorsten Schwandt. Lernsituationen.info. Modellunternehmen.

K. Hartmann-Consulting. Schulungsunterlage Outlook 2013 Kompakt Teil 1

Anlage eines neuen Geschäftsjahres in der Office Line

Konfiguration einer Sparkassen-Chipkarte in StarMoney

Kapitel 6. Vererbung

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

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

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Das Kreditkartenkonto in StarMoney 10 und StarMoney Business 7

Objektorientierte Programmierung OOP

Einführung in die Programmierung für NF

Primzahlen und RSA-Verschlüsselung

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Lizenzierung von StarMoney 8.0 bzw. StarMoney Business 5.0 durchführen

Microsoft Office 365 Kalenderfreigabe

Die Post hat eine Umfrage gemacht

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

SF-RB. Modul Provisionsabrechnung & Planung Reiseagentenprovisionsabrechnung & Planung. SF-Software Touristiksoftware

Das Kreditkartenkonto in StarMoney 9.0 und StarMoney Business 6.0

Die Lernumgebung des Projekts Informationskompetenz

Umstellung eines bestehenden Sparkassen- Kreditkartenkontos auf das Sicherheitsmedium HBCI-PIN/TAN bzw. HBCI-Chipkarte

Der Verzeichnispfad unter Windows 7 32bit zur Programmdatei Mail.exe lautet: C:\Programme\T-Online\T-Online_Software_6\ \Mail.

Objektorientierte Programmierung. Kapitel 12: Interfaces

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

Einrichtung eines -Zugangs mit Mozilla Thunderbird

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Kostenstellen verwalten. Tipps & Tricks

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

iloq Privus Bedienungsanleitung Schließanlagen Programmierung Version 1 - Copyright 2013

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Lizenzierung von StarMoney 9.0 bzw. StarMoney Business 6.0 durchführen

Ändern eines Kontotyps

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Einführung in Eclipse und Java

SWE5 Übungen zu Software-Engineering

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Seite Wo finde ich die Landingpage Auswahl? Seite Wie aktiviere ich eine Landingpage? Seite

Kapitel 6. Vererbung

Geld Verdienen im Internet leicht gemacht

Zwischenablage (Bilder, Texte,...)

KONVERTIERUNG VON EXTERNEN DTA DATEIEN (ÜBERWEISUNGEN)

5. Abstrakte Klassen

Kapitel 6. Vererbung

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Benutzeranleitung Superadmin Tool

4. AuD Tafelübung T-C3

Einrichten eines Exchange-Kontos mit Outlook 2010

Fallstudie zu Kundenorientierung und Telefonservice

Microsoft Office 365 Outlook 2010 Arbeitsplatz einrichten

Umstellung auf smstan in StarMoney 10 und StarMoney Business 7

Die Windows 7 Sicherung im Detail

Anwendungsbeispiele Buchhaltung

Einrichtungsanleitungen Hosted Exchange

Jeopardy and andere Quizformate im bilingualen Sachfachunterricht Tipps zur Erstellung mit Powerpoint

Kfz-Versicherung für Fahranfänger. mit der Lizenz zum Fahren

Der SEPA-Konverter in StarMoney Business 6.0

Microsoft Office 365 Domainbestätigung

Informationsblatt Induktionsbeweis

Übungen zur Softwaretechnik

10.1 Auflösung, Drucken und Scannen

Einrichten eines HBCI- Zugangs mit Bank X 5.1

Einrichtungsanleitungen Hosted Exchange 2013

Zusatzmodul Lagerverwaltung

Einrichtung eines -Kontos bei MS Office Outlook 2007 (Windows) Stand: 03/2011

Kurzanleitung. MEYTON Aufbau einer Internetverbindung. 1 Von 11

Anleitung zum DKM-Computercheck Windows Defender aktivieren

ecaros2 Installer procar informatik AG 1 Stand: FS 09/2012 Eschenweg Weiterstadt

Task: Nmap Skripte ausführen

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

Access für Windows. Tanja Bossert, Andrea Weikert 1. Ausgabe, 2. Aktualisierung, September Grundlagen für Datenbankentwickler ACC2010D

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Individuelle Formulare

Arbeiten mit UMLed und Delphi

GS-Buchhalter/GS-Office 2015 Kostenstellenrechnung einrichten

PowerPoint 2010 Mit Folienmastern arbeiten

Das vorliegende Dokument beinhaltet vertrauliche Informationen und darf nicht an Dritte weitergereicht werden.

Professionelle Seminare im Bereich MS-Office

Qualität und Verlässlichkeit Das verstehen die Deutschen unter Geschäftsmoral!

Sollsaldo und Habensaldo

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

GS-Buchhalter/GS-Office 2015 Saldovorträge in folgenden Wirtschaftsjahren erfassen

Kurzanleitung OOVS. Reseller Interface. Allgemein

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

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

Einstieg in Exact Online Buchungen erfassen. Stand 05/2014

Online Newsletter III

ARCO Software - Anleitung zur Umstellung der MWSt

Lernwerkstatt 9 privat- Freischaltung

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Transkript:

1 1.1 Wiederholung: Klassendiagramme in der UML Thorsten Schwandt Lernsituationen Java II Kompetenzorientierte Unterrichtsmaterialien zur Vertiefung der Objektorientierung 1. Auflage, 2014 ISBN: 978-3-7357-6226-9

2 Lernsituationen Java II Impressum ISBN: 978-3-7357-6226-9 Autor: E-Mail: Internet: Thorsten Schwandt mail@lernsituationen.info www.lernsituationen.info 2014: Thorsten Schwandt Herstellung und Verlag: BoD Books on Demand, Norderstedt Dieses Buch und seine Teile sind urheberrechtlich geschützt. Jede Nutzung in anderen als den gesetzlich zugelassenen Fällen bedarf der vorherigen schriftlichen Genehmigung des Autors. Hinweis zu 52a UrhG: Weder das gesamte Werk noch einzelne Teile dürfen ohne die Genehmigung des Verfassers digitalisiert und in einem Netzwerk zur Verfügung gestellt werden. Dies gilt auch für Intranets und Lernplattformen von Schulen und anderen Bildungseinrichtungen. Dieses Werk wurde mit großer Sorgfalt erstellt. Fehler können dennoch nicht ausgeschlossen werden. Der Autor kann für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Wenn nicht explizit an anderer Stelle des Werkes aufgeführt, liegen die Urheberrechte an allen Bildern beim Autor. Sollte es trotz intensiver Recherche nicht gelungen sein, alle weiteren Rechteinhaber der verwendeten Quellen und Abbildungen zu finden, bitten wir um eine kurze Nachricht an den Autor. Bildquellenverzeichnis Seite 4, 5, 11, 12, 13, 18, 19, 26 27, 38, 39, 40, 43, 44, 45, 52 CD Pixabay Public Domain Seite 5, 12, 19, 27, 40, 45 Logo SoftSolution Thorsten Schwandt Seite 5, 12, 27, 40, 45 Heinz Albrinck Benjamin Thorn / pixelio.de Seite 5, 27 Birte Nederkorn Benjamin Thorn / pixelio.de Seite 5, 19, 45 Torben Evertz Konstantin Gastmann / pixelio.de Seite 5 Notebook Konstantin Gastmann / pixelio.de Seite 11, 38 Junge Pixabay Public Domain Seite 11, 38 Zauberer Pixabay Public Domain Seite 11 Krieger Pixabay Public Domain Seite 12, 40 Logo remotec Thorsten Schwandt Seite 12, 40 Nadine Stöppler Konstantin Gastmann / pixelio.de Seite 33 Büste Pixabay Public Domain Seite 39 Mädchen mit Notebook Pixabay Public Domain Seite 40 Clemens Funkel Benjamin Thorn / pixelio.de

1 Modellierung und Implementierung von Assoziationen 3 Inhaltsverzeichnis 1 Modellierung und Implementierung von Assoziationen... 5 1.1 Wiederholung: Klassendiagramme in der UML... 6 1.2 Assoziationen im Klassendiagramm... 7 1.3 Assoziationen in Java Anlegen einer neuen Klasse... 8 1.4 Assoziationen in Java Assoziationen nutzen... 9 1.5 Einen Buchungssatz als Assoziation implementieren... 10 1.6 Übung Rollenspiel (Teil 1)... 11 2 ArrayList anlegen... 12 2.1 Aufbau und Eigenschaften einer ArrayList... 13 2.2 Anlegen einer ArrayList... 14 2.3 Hinzufügen von Elementen zu einer ArrayList... 15 2.4 Objekte einer ArrayList ausgeben... 17 2.5 Übung mymusic (Teil 1)... 18 3 ArrayList bearbeiten... 19 3.1 Ein bestimmtes Objekt in einer ArrayList suchen... 20 3.2 Elemente aus einer ArrayList entfernen... 21 3.3 Sortieren einer ArrayList... 22 3.4 Wichtige Methoden der Klasse ArrayList... 24 3.5 Nutzung der Aktivkonto-ArrayList für Buchungen... 25 3.6 Übung mymusic (Teil 2)... 26 4 Vererbung: Generalisierung/Spezialisierung... 27 4.1 Vererbung allgemein und im Klassendiagramm... 28 4.2 Einrichten der Klassen einer Vererbungsbeziehung... 30 4.3 Überschreiben von Methoden (Polymorphie)... 32 4.4 Die Oberklassenversion einer Methode erweitern... 34 4.5 Das Programm an die neuen Klassen anpassen... 35 4.6 Instanziieren von Objekten aller Klassen... 37 4.7 Übung Rollenspiel (Teil 2)... 38 4.8 Übung Medienverwaltung... 39 5 Combobox... 40 5.1 Comboboxen in GUIs integrieren und mit Werten füllen... 41 5.2 Den ausgewählten Wert einer Comboboxen auslesen... 42 5.3 Übung Briefanrede... 43 5.4 Übung Bearbeitungsmodus an/aus... 44 6 Fehlervermeidung und -behandlung... 45 6.1 Fehlerarten... 46 6.2 Syntaxfehler und Hilfestellungen von NetBeans... 47 6.3 Ursachen und Folgen von Laufzeitfehlern... 48 6.4 Fehlerbehandlung: Exception Handling (try-catch)... 49 6.5 Methoden zur Vermeidung von Eingabefehlern... 50 6.6 Übung Taschenrechner... 52

4 Lernsituationen Java II Einführung Java I: Grundlagen der objektorientierten Modellierung und Programmierung Dieses Werk setzt die im Kapitel 4 des Buches Wirtschaftsinformatik mit Office 2010 Jahrgangsstufe 11 begonnene Unterrichtsreihe zur Java-Programmierung fort. Das im HERDT-Verlag erschienene Buch wird nicht für die Jahrgangsstufe 12 fortgeführt. Mit diesem Werk erhalten alle Nutzer des o. g. Buches die Möglichkeit in der Jahrgangsstufe 12 nahtlos mit Lernsituationen in den bekannten Modellunternehmen an dem begonnenen Software-Projekt weiterzuarbeiten. Titel: Wirtschaftsinformatik mit Office 2010 Jahrgangsstufe 11 Verlag: HERDT-Verlag für Bildungsmedien GmbH, Bodenheim ISBN: 978-3-86249-262-6 Lernsituationen: Der didaktische Ansatz dieses Buches Die Schüler erarbeiten sich die Unterrichtsinhalte anhand praxisnaher, handlungsorientierter Lernsituationen. Alle Situationen spielen in den beiden Modellunternehmen remotec GmbH und/oder SoftSolution GmbH. Die Lernsituationen ermöglichen aufgrund ihrer Offenheit oftmals individuelle Lösungs- und Erweiterungsmöglichkeiten. Jedes Kapitel dieses Buches beginnt mit einer solchen Lernsituation. Zu diesen Lernsituationen gibt es keinerlei Arbeitsaufträge. Diese sollten im Rahmen einer Situationsanalyse gemeinsam mit den Schülern erarbeitet werden. Für eine solche Situationsanalyse eignet sich z. B. die folgende Vorgehensweise. Kontext: Im ersten Schritt sollte der Inhalt von den Schülern zusammengefasst und gemeinsam festgehalten werden (z. B. an der Tafel oder in einem Word-Dokument). Perspektive: Als nächstes ist die Frage zu klären, wer in der gegebenen Situation zu handeln hat. Prozess: Abschließend sollte von den Schülern ein konkreter Arbeitsauftrag (unter Berücksichtigung der gewählten Perspektive) formuliert werden. Planung der Arbeitsschritte (optional): Um den Schülern den Einstieg in die Erarbeitungsphase zu vereinfachen, ist es oftmals sinnvoll eine Übersicht der zur Situationsbewältigung notwendigen Arbeitsschritte anzufertigen. Zusatzmaterialien Zu diesem Buch ist eine Lehrermedien-CD erhältlich, auf der sich diverse Zusatzmaterialien für die in diesem Werk befindlichen Lerninhalte befinden. Auf der Lehrermedien-CD finden Sie u. a.: alle in diesem Buch eingesetzten Programme (Freeware: JDK, NetBeans, Dia) sämtliche NetBeans-Projekte (Vorlagen/Lösungen) sowie Lösungen aller Übungen mögliche Ergebnisse der Situationsanalysen (inklusive Arbeitsaufträge) Dieses Symbol weist im Buch auf Materialien auf der Lehrermedien-CD hin. zusätzliche Informationsmaterialien (z. B. UML-Diagramme und Veranschaulichung von Programmabläufen in PowerPoint-Präsentationen etc.) Sie können die Lehrermedien-CD über folgende Internetseite beziehen: www.lernsituationen.info

4 Vererbung: Generalisierung/Spezialisierung 27 4 Vererbung: Generalisierung/Spezialisierung Doppelter, dreifacher, vierfacher Quellcode Torben Evertz, der Anwendungsentwickler der SoftSolution GmbH, hat die neueste Version der Buchhaltungssoftware der remotec GmbH fertig gestellt und dem Projektteam der SoftSolution GmbH vorgestellt. Der Projektleiter Herr Albrinck ist sehr zufrieden. Nachdem er wiederum den aktuellen Zwischenstand bei der remotec GmbH präsentiert hat, ruft er das Projektteam in sein Büro. Heinz Albrinck: Hallo Frau Nederkorn, hallo Herr Evertz! Unsere Auftraggeber waren begeistert von dem Produkt; vor allem, dass man jetzt schon komfortabel und fehlerfrei auf allen Konten buchen kann, kam sehr gut an. Nun sollen wir die Passivkonten einpflegen Heinz Albrinck Projektleiter SoftSolution GmbH Torben Evertz: Heinz Albrinck: Birte Nederkorn: Torben Evertz: Heinz Albrinck: Was für Eigenschaften haben denn diese Konten? Genau wie die Aktivkonten verfügen Sie über einen Anfangsbestand sowie einen Saldo und können im Soll und im Haben bebucht werden. Nur dass der Anfangsbestand im Haben und der Saldo im Soll sind. Oh, dann haben wir ja jede Menge doppelten Quellcode! Und dann gab s doch noch mehr Kontenarten, oder? Richtig. Nach den Bestandskonten müssen wir dann noch Klassen für die Erfolgskonten, also Aufwands- und Ertragskonten einrichten. Die haben allerdings keine Anfangsbestände Birte Nederkorn: Dann wird s ja noch chaotischer! Birte Nederkorn Systemanalyse/Systemarchitektur SoftSolution GmbH Zusatzinformationen: 2_04_Vererbung_Klassendiagramm_vereinfacht.png 2_04_Vererbung_Klassendiagramm_komplett.png Vorlage: remotec_2_03_arraylistbearbeiten Lösung: remotec_2_04_vererbung

28 Lernsituationen Java II 4.1 Vererbung allgemein und im Klassendiagramm Das Prinzip der Vererbung Bei der Vererbung werden Codebestandteile, die in mehreren Klassen auftreten, in eine weitere Klasse, die so genannte Oberklasse (auch Superklasse genannt), verlagert. Die Oberklasse vererbt diesen allgemeinen Quellcode (Attribute und Methoden) an alle Unterklassen, d. h. diese Attribute und Methoden stehen auch in den Unterklassen zur Verfügung. Eine Unterklasse kann eigene Attribute und/oder Methoden neu hinzufügen und Methoden erweitern oder komplett überschreiben, die sie von der Oberklasse erbt. Der Vorgang, aus vorhandenen Klassen Gemeinsamkeiten zu isolieren und in einer Oberklasse zusammenzufassen, wird als Generalisierung bezeichnet. Der Vorgang, dass eine Klasse alle Merkmale einer Oberklasse besitzt und darüber hinaus noch andere hinzufügt, wird als Spezialisierung bezeichnet. Eine Vererbungsbeziehung in der Unified Modeling Language (UML) Im Klassendiagramm der UML wird eine Vererbungsbeziehung zwischen Ober- und Unterklassen durch einen Pfeil dargestellt, der von der Unter- zur Oberklasse zeigt. Von der Oberklasse geerbte Attribute und Methoden werden in der Unterklasse nicht wiederholt. Die nebenstehend dargestellte Abbildung zeigt, dass die Unterklassen Sparkonto und Girokonto das Attribut kontonr sowie die Methode einzahlen() von der Oberklasse Konto erben und diese durch eigene Attribute und Methoden erweitern. Oberklasse Unterklassen Bei einer Vererbung wird auch von einer ist ein -Beziehung gesprochen, weil jedes Objekt der Unterklasse ein Objekt der Oberklasse ist (Beispiel: Ein Girokonto ist ein Konto. ). Diese Ist-ein -Beziehung funktioniert jedoch nur in eine Richtung (Beispiel: Ein Girokonto ist ein Konto; ein Konto ist jedoch nicht zwingend ein Girokonto. )!

30 Lernsituationen Java II 4.2 Einrichten der Klassen einer Vererbungsbeziehung Eine (abstrakte) Oberklasse anlegen Die Oberklasse einer Vererbungsbeziehung kann z. B. anhand eines zuvor erstellten Klassendiagramms programmiert werden. Abstrakte Oberklasse Unterklassen Oftmals werden von der Oberklasse keine eigenen Objekte erzeugt (in der Kontenverwaltung soll z. B. immer ein Sparkonto oder ein Girokonto eingerichtet werden; Objekte der Oberklasse Konto werden hingegen niemals instanziiert). In einem solchen Fall spricht man von einer abstrakten Klasse (im Gegensatz zu konkreten Klassen); dies ist im Klassendiagramm der UML an dem kursiv gedruckten Klassennamen zu erkennen und wird im Java-Quellcode durch das Schlüsselwort abstract in der Klassendefinition umgesetzt. Oberklasse Konto.java (Ausschnitt) public abstract class Konto { protected Bankkunde kontoinhaber; protected double saldo; private long kontonummer; public String einzahlen() { ( ) } public String auszahlen() { ( ) } public abstract String zinszahlung(); } ( )

38 Lernsituationen Java II 4.7 Übung Rollenspiel (Teil 2) Erik Dominski arbeitet seit einiger Zeit an einem eigenen Rollenspiel, welches er mit der Programmiersprache Java erstellt. Beim Testen seines Programms ist ihm aufgefallen, dass die Spezialfähigkeit des Zauberers das Zaubern fehlt. Er möchte diese nun nachträglich einbauen. Nur Zauberer sollen über die zusätzliche Eigenschaft Zauberkraft verfügen. Sein Test-Objekt Mizantrir soll eine Zauberkraft in Höhe von 100,0 besitzen. Zunächst erweitert er sein bisheriges Klassendiagramm. Dann überträgt er das überarbeitete Modell in sein NetBeans-Projekt und prüft das Programm mit Hilfe der Test-GUI. Vorlagen: 04_Übung_Rollenspiel_00_Vorlage.dia rollenspiel_02_loesungmitzusatzaufgabe Lösungen: 04_Übung_Rollenspiel_01_Lösung.dia rollenspiel_03_loesungmitzusatzaufgabeundvererbung