Rheinwerk Computing < openbook >


 
Inhaltsverzeichnis
Materialien zum Buch
Vorwort
1 Java ist auch eine Sprache
2 Imperative Sprachkonzepte
3 Klassen und Objekte
4 Arrays und ihre Anwendungen
5 Der Umgang mit Zeichen und Zeichenketten
6 Eigene Klassen schreiben
7 Objektorientierte Beziehungsfragen
8 Schnittstellen, Aufzählungen, versiegelte Klassen, Records
9 Ausnahmen müssen sein
10 Geschachtelte Typen
11 Besondere Typen der Java SE
12 Generics<T>
13 Lambda-Ausdrücke und funktionale Programmierung
14 Architektur, Design und angewandte Objektorientierung
15 Java Platform Module System
16 Die Klassenbibliothek
17 Einführung in die nebenläufige Programmierung
18 Einführung in Datenstrukturen und Algorithmen
19 Einführung in grafische Oberflächen
20 Einführung in Dateien und Datenströme
21 Einführung ins Datenbankmanagement mit JDBC
22 Bits und Bytes, Mathematisches und Geld
23 Testen mit JUnit
24 Die Werkzeuge des JDK
A Java SE-Module und Paketübersicht
Stichwortverzeichnis


Buch bestellen
Ihre Meinung?



Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom

Einführung, Ausbildung, Praxis
Buch: Java ist auch eine Insel


Java ist auch eine Insel

Pfeil 7 Objektorientierte Beziehungsfragen
Pfeil 7.1 Assoziationen zwischen Objekten
Pfeil 7.1.1 Unidirektionale 1:1-Beziehung
Pfeil 7.1.2 Zwei Freunde müsst ihr werden – bidirektionale 1:1-Beziehungen
Pfeil 7.1.3 Unidirektionale 1:n-Beziehung
Pfeil 7.2 Vererbung
Pfeil 7.2.1 Vererbung in Java
Pfeil 7.2.2 Ereignisse modellieren
Pfeil 7.2.3 Die implizite Basisklasse java.lang.Object
Pfeil 7.2.4 Einfach- und Mehrfachvererbung *
Pfeil 7.2.5 Sehen Kinder alles? Die Sichtbarkeit protected
Pfeil 7.2.6 Konstruktoren in der Vererbung und super(…)
Pfeil 7.3 Typen in Hierarchien
Pfeil 7.3.1 Automatische und explizite Typumwandlung
Pfeil 7.3.2 Das Substitutionsprinzip
Pfeil 7.3.3 Typen mit dem instanceof-Operator testen
Pfeil 7.3.4 Pattern-Matching bei instanceof
Pfeil 7.4 Methoden überschreiben
Pfeil 7.4.1 Methoden in Unterklassen mit neuem Verhalten ausstatten
Pfeil 7.4.2 Mit super an die Eltern
Pfeil 7.5 Drum prüfe, wer sich dynamisch bindet
Pfeil 7.5.1 Gebunden an toString()
Pfeil 7.5.2 Implementierung von System.out.println(Object)
Pfeil 7.6 Finale Klassen und finale Methoden
Pfeil 7.6.1 Finale Klassen
Pfeil 7.6.2 Nicht überschreibbare (finale) Methoden
Pfeil 7.7 Abstrakte Klassen und abstrakte Methoden
Pfeil 7.7.1 Abstrakte Klassen
Pfeil 7.7.2 Abstrakte Methoden
Pfeil 7.8 Weiteres zum Überschreiben und dynamischen Binden
Pfeil 7.8.1 Nicht dynamisch gebunden bei privaten, statischen und finalen Methoden
Pfeil 7.8.2 Kovariante Rückgabetypen
Pfeil 7.8.3 Array-Typen und Kovarianz *
Pfeil 7.8.4 Dynamisch gebunden auch bei Konstruktoraufrufen *
Pfeil 7.8.5 Keine dynamische Bindung bei überdeckten Objektvariablen *
Pfeil 7.9 Zum Weiterlesen und Programmieraufgabe
 

Zum Seitenanfang

7.9    Zum Weiterlesen und Programmieraufgabe Zur vorigen ÜberschriftZur nächsten Überschrift

Gute objektorientierte Modellierung ist nicht einfach und braucht viel Übung. Viele Entwickler beginnen viel zu früh, im Code zu »modellieren«, doch das ist nicht gut, denn so wird oft der Code umgebaut, was letztendlich Zeit kostet. Sinnvoller ist, mit einem ordentlichen Design zu starten und sich klarzumachen: »Welche Klasse hat welche Verantwortung, und wer spricht mit wem?«. Um das Design zu dokumentieren, sind UML-Diagramme hilfreich, und hierfür lohnt es sich, auf Dokumentation aus dem Internet zurückzugreifen oder auf ein Buch wie »UML 2.5. Das umfassende Handbuch« aus dem Rheinwerk Verlag. Das Design mit Boxen und Linien auf Papier oder einem Whiteboard zu beginnen, ist vernünftig.

In den letzten beiden Kapiteln haben wir das Fundament für das Jawbreaker-Spiel gelegt, das die Leser gerne zu Ende führen können. Kurz zusammengefasst die grundlegenden Regeln:

  • Am Anfang hat der Spieler 2.000 $ an Cash und 0 $ Schulden.

  • Im Originalspiel gibt es folgende Drogen: Cocaine, Heroin, Acid, Grass, Speed, Ludes. Setze stattdessen die Lieblingssüßigkeiten ein. Diese kann der Spieler in seiner Stadt kaufen und verkaufen.

  • Die Preise der Drogen ($) im Originalspiel bewegen sich in folgenden Wertebereichen: Cocaine = 15.000–30.000, Heroin = 5.000–14.000, Acid = 1.000–4.500, Grass = 300–900, Speed = 70–250, Ludes = 10–60. Die Preise schwanken zufällig, und die Preise der Drogen können sinken/steigen, wenn der Spieler reist. Setze eigene Preisbereiche für die Süßigkeiten.

  • Der Spieler kann maximal 100 Produkte tragen (alle Produkte sind gleich schwer).

  • Es gibt folgende Stadtteile, zu denen der Spieler reisen kann: »Bronx«, »Ghetto«, »Central Park«, »Manhattan«, »Coney Island«, »Brooklyn«.

  • Ein Spieler kann nicht zu der Stadt reisen, in der er sich aktuell befindet.

  • Eine Reise dauert einen Tag. Bei der Reise können zufällig Ereignisse passieren, ein paar Ideen:

    • Das Geld kann dem Spieler von einem Fremden geklaut werden.

    • Bei einer Reise kann der Spieler hin und wieder Drogen finden.

    • Je nach Distanz zur ausgewählten Stadt kostet die Reise mehr oder weniger Geld.

  • In der Bronx – und nur dort – gibt es a) eine Bank zum Einzahlen/Abheben, b) ein Versteck (engl. stash) zum Sichern der Drogen und c) einen Kredithai (engl. loanshark) für den Geldverleih.

    • Der Spieler kann sich vom Kredithai nur Geld leihen, wenn er keine Schulden hat.

    • Schuldzinsen betragen 10 % pro Tag.

    • Sparzinsen betragen 5,5 % pro Tag.

  • Nach 30 Tagen ist das Spiel zu Ende. Dann werden Gewinn und Schulden verrechnet.

Die Leser sind eingeladen, das Spiel mit weiteren Regeln zu ergänzen. Eine Textoberfläche lässt sich auch mit Java realisieren dank einer Open-Source-Bibliothek wie https://github.com/mabe02/lanterna.

 


Ihre Meinung?

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de

<< zurück
 Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Java ist auch eine Insel Java ist auch eine Insel

Jetzt Buch bestellen


 Buchempfehlungen
Zum Rheinwerk-Shop: Captain CiaoCiao erobert Java

Captain CiaoCiao erobert Java




Zum Rheinwerk-Shop: Algorithmen in Java

Algorithmen in Java




Zum Rheinwerk-Shop: Spring Boot 3 und Spring Framework 6

Spring Boot 3 und Spring Framework 6




Zum Rheinwerk-Shop: Java SE 9 Standard-Bibliothek

Java SE 9 Standard-Bibliothek




 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und in die Schweiz

InfoInfo



 

 


Copyright © Rheinwerk Verlag GmbH 2024

Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.

Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 

[Rheinwerk Computing]



Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de



Cookie-Einstellungen ändern