Javas kaputte Datenkapselung

Meiner Erfahrung nach werden in Objekt-Orientierungs-Diskussionen folgende drei Punkte genannt, auch in dieser Priorität, die die Objektorientierung ausmachen sollen:

  1. Vererbung von Klassen
  2. Schnittstellen
  3. Kapselung

Ist Vererbung wirklich das was Objektorientierung ausmacht? Immerhin ist Vererbung nicht bei jeder Klasse notwendig, sondern nur von Fall zu Fall nötig. Streichen wir also den ersten Punkt von unserer Liste!

Die Schnittstellen, also Funktionen einer Klasse, ermöglichen die Kommunikation mit dem Objekt. Die Klasse kapselt ihre Eigenschaften (Daten) und ermöglicht nur über die Schnittstellen den Zugriff auf die Eigenschaften. Die Daten sollen vor direkter Manipulation geschützt werden, um eine Blackbox zu simulieren.

Ich sehe regelmäßig Java-Code, in dem die Blackbox-Regel gebrochen wird. Viele Programmierer meinen, wenn sie die Daten einer Klasse als Privat deklarieren, ist alles gut.

» Weiterlesen

Tipp: Umsteigezeiten bei Bahnfahrten

Ich reise seit letztem Jahr sehr gerne mit dem Zug. Was mich aber immer wieder bei der Deutschen Bahn stört, sind die Zugverspätungen. Nun kann man ja sagen, dass es nicht schlimm ist, ob man am Zielort zehn Minuten später ankommt. Das ist auch richtig. Aber problematisch wird es, wenn man auf einen anderen Zug umsteigen muss, weil es keine Direktverbindung gibt.

Beispiel von Gießen nach Wolfsburg:
db-umsteigezeit

Hier hat mir das Buchungssystem der Bahn die Strecke von Gießen nach Wolfsburg vorgeschlagen mit:

  • 3:52 Std. Reisezeit
  • Zugumstieg in Frankfurt
  • Umsteigezeit von nur 8 Minuten, dadurch hohes Risiko den Anschlusszug zu verpassen

Auf einem großen Bahnhof mit vielen Menschen und vielen Bahnsteigen und schweren Koffer, kann der Umstieg einige Minuten in Anspruch nehmen.
Wenn der Zug auch noch ein paar Minuten zu spät im Umsteigebahnhof eintrifft, wird es ein Glücksspiel den Anschlusszug zu erwischen. Und was ist, wenn der Zug mehr als acht Minuten zu spät ist?

Diese acht Minuten sind eindeutig zu wenig! Und das Buchungssystem ist hier noch großzügig gewesen, denn selbst fünf oder gar drei Minuten Umsteigezeit vermittelt einem das System bei manchen Verbindungen. 😯

Tipp: Umsteigezeit erhöhen, dadurch manchmal sogar schneller am Ziel! 💡

Was kann man tun, um das Risiko zu verringern, den Anschlusszug zu verpassen? Erhöhen Sie die Umsteigezeit! Das geht im Buchungssystem der bahn.de ganz einfach. Und man kann es auch dem Verkäufer im Reisebüro bzw. DB-Reisezentrum mitteilen:

„Bitte mind. 20 Minuten Umsteigezeit!“

db-umsteigezeit-20minDas hat zur Folge, dass das Buchungssystem andere Verbindungen zusammenstellt. Der Umstieg ist dann vielleicht an einem anderen Bahnhof. Das ist aber für die Reise unerheblich, das Ziel bleibt natürlich das gleiche.

Der Witz an der Geschichte ist auch noch, dass die Reisezeit in unserem Beispiel verkürzt wird!

db-umsteigezeit-20min-verbindungenErgebnis:

  • die Reisezeit verkürzt sich auf mind. 3:28 Std. ggü. 3:52 Std.
  • deutlich mehr Umsteigezeit, dadurch geringeres Risiko den Anschlusszug zu verpassen

Obwohl eine der Verbindungen zwei lange Umstiege enthält, ist die Reisezeit kürzer als bei der ursprünglichen Verbindung mit dem kurzem Umstieg! Natürlich muss das nicht immer so sein, aber die Reisezeit muss sich auch nicht zwingend um 20 Minuten verlängern.

Sollte ein Zug z.B. 10 Minuten zu spät ankommen, hat man trotzdem noch Zeit den Anschlusszug zu erreichen.

Was ist, wenn der Zug pünktlich ist? Dann hat man 20 Minuten Zeit sich die Beine zu vertreten, einen Kaffee zu trinken oder das Bahnhofs-WC aufzusuchen. 😉 Und das ist auf jeden Fall angenehmer, als zu hoffen, dass der Zug ja keine Minute zu spät ist! 😀

Unfähige Deutsche Bahn

Nach dieser Erkenntnis fragt man sich doch eines: warum zur Hölle ist das Buchungssystem der Bahn nicht auf eine Umsteigezeit von mind. 20 Minuten eingestellt? Wer kürzere Umsteigezeiten will, könnte das ja auf eigenes Risiko trotzdem umstellen.

Hier sollten die Verantwortlichen des DB-Buchungssystems nachbessern.

Algerien-Reise 2013: Algier-Zentrum

Hier ein paar Fotos aus Algier (Juli 2013):

1 4 5 6 7