Hochwasser und Objektorientierte Programmierung: Unterschied zwischen den Seiten

Aus ZUM-Unterrichten
(Unterschied zwischen Seiten)
KKeine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
KKeine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
Zeile 1: Zeile 1:
In Deutschland gibt es immer wieder durch Starkregen verursachte Hochwasserereignisse.  
Die '''Objekt-Orientierte Programmierung (OOP)''' beschreibt ein Programm als Interaktion zwischen Objekten. Diese können sich gegenseitig Nachrichten senden und dadurch ihren Zustand - ihre Attribute - ändern.


==Die Lage==
== Zusammenfassung ==
===Folgen des Hochwassers===
* Objekte sind in der objektorientierten Programmierung Daten (Eigenschaften oder auch Atrribute) und die damit verknüpfte Programmlogik (Methoden oder auch Operationen), die zu Einheiten, nämlich eben den Objekten, zusammengefasst sind.
* Gleichartige Objekte werden zu Klassen zusammengefasst.
* Klassen dienen als Vorlage (wie ein Bauplan) zur Herstellung von Objekten. Von einer Klasse können beliebig viele Objekte hergestellt werden. Die Objekte sind einzigartig, da sie einen unterschiedlichen Namen tragen müssen, obwohl ihr Zustand identisch sein kann.
* Der Zustand (oder auch Status) ist die Gesamtheit der Werte der Eigenschaften.
* nach {{wpde|Objektorientierte Programmierung|}} und nach: [http://www.u-helmich.de/inf/BlueJ/kurs11/seite01/theorie.html]


{{#ev:youtube|DalDjfF9j68}}
== Einstieg in die Objekt-Orientierte Programmierung ==


===Hochwasserstandsmeldungen===
=== Unterrichtsidee ''Rollenspiel'' ===


*[http://www.hochwasserzentralen.de/ ''' Hochwassernmeldedienst Deutschland''']
{{Siehe|OOP-Rollenspiel}}
*[http://www.hnd.bayern.de/ Hochwassermeldedienst Bayern]


==Die Wettersituation im Rückblick==
=== Unterrichtsidee ''Textadventure'' ===


[[File:Cpc-ncep-noaa z500 nh 1d 30MAY2013.gif|rechts|400px]]<br><br>
{{Idee|
[[File:Central Europe 72h rain fall at 2. June 2013.png|rechts|400px]]
Martin Jakobs stellt auf seiner [http://www.martinjakobs.de/pages/objektorientierte-programmierung.php Webseite] das Projekt ''Textadventure'' als Einstieg in die Objektorientierte Programmierung vor.


{{Aufgabe|# Lies den unten stehenden Bericht:
* [http://www.martinjakobs.de/media/Fachseminar/08.%20Fachseminar%20-%20Einstieg%20in%20die%20Objektorientierte%20Programmierung.pdf Skript mit didaktischen Empfehlungen für die Lehrkraft]
# Kläre die Begriffe "Staulage", "Omega-Lage", "umgekehrte Omega-Lage"
}}
}}


'''Großwetterlage'''
=== Unterrichtsidee ''Vogel'' ===
{{Idee|1=
Zunächst klären wir am Beispiel Vogel, was eine Klasse ist: Ähnlich wie in der [[Biologie]] gruppiert man in der OOP (Objektorientierten Programmierung) Objekte und fasst sie in Klassen zusammen.


*'''[http://www.sueddeutsche.de/wissen/hochwasser-in-deutschland-fluch-der-wolken-1.1687454 Süddeutsche Zeitung - Beschreibung der Großwetterlage]'''
[[Bild:Cyanocitta-cristata-004.jpg|thumb|Ein "Blue Jay" (deutsch Blauhäher) ist der Namensgeber von BlueJ, der Einsteiger-Java-IDE]]
*[http://www.deutscher-wetterdienst.de/lexikon/index.htm?ID=O&DAT=Omega_Wetterlage Omega-Wetterlage]
*[http://www.wetterdienst.de/Deutschlandwetter/Thema_des_Tages/997/mai-2013-wochenlanger-tiefdruckeinfluss-fuellt-mit-wonne-jede-regentonne Umgekehrte Omega-Wetterlage]


3. Kläre die Begriffe "Kaltfront", "Warmfront" und beschäftige Dich mit den Vorgängen beim Durchzug einer Kaltfront:
Dabei stellt sich die Frage, was einen Vogel auszeichnet:
* Ein Vogel hat bestimmte '''Eigenschaften''' (oder Attribute). Er hat zum Beispiel eine bestimmte Farbe, ein Geschlecht und man kann seine Flügelspannweite messen.
* Ein Vogel kann bestimmte Dinge tun. Er kann etwa singen oder ein Ei legen. Das sind die so genannten '''Methoden''' (Operationen) des Vogels wie singe() oder legeEi().


:*{{RSG-Wiki}} [[:rsg:Der_blaue_Planet_und_seine_Geozonen#Grundregeln_f.C3.BCr_Luftmassen|Luftmassenbewegungen]]
Methoden teilt man in zwei Gruppen ein
* Es gibt zum einen '''beobachtende oder auch sondierende Methoden'''. Diese beantworten z.B. die Frage: Welche Farbe hast du? Im Programm werden sie gibFarbe() oder getFarbe() genannt.
* Zum anderen gibt es Methoden, die Eigenschaften ändern können ('''verändernde Methode'''). Ein Beispiel wäre setFarbe(“gruen“), welche die Farbe eines Objektes ändern könnte.


4. Sieh Dir die Satellitenbilder bei EUMETSAT vom 1.6. bis zum 5.6.2013 an:
Aus der Klasse Vogel lassen sich konkrete '''Objekte''' bilden: z.B. vogel1, vogel2, vogel3. Jedes Objekt hat einen bestimmten Zustand. So kann z.B. vogel1 die Farbe gelb haben, weiblich sein und 40 cm Spannweite haben. der Zustand von vogel2 könnte sein: gelb, 30 cm Spannweite, männlich. Während die Klasse Vogel etwas abstraktes ist (eine Art Bauplan für Objekte) ist ein Objekt konkret.


:*AKTUELL: [http://oiswww.eumetsat.org/IPPS/html/MSG/IMAGERY/IR039/COLOR/CENTRALEUROPE/index.htm]
{{Übung|
:*SPÄTER ARCHIV [http://www.eumetsat.int/Home/Main/Image_Gallery/ImageLibrary/index.htm?l=en]
* Nennen Sie weitere Eigenschaften und Methoden einer Klasse Vogel.
 
* Je nachdem, ob man für ein Zoogeschäft oder ein Lexikon ein Verwaltungsprogramm schreibt, bekommt eine Klasse Vogel ganz andere Eigenschaften. Nennen Sie Eigenschaften, die jeweils nur für einen der beiden Auftraggeber (Zoogeschäft, Lexikon) wichtig sind.
:Woran erkennt man Tiefs und Hochs im Satellitenbild? Beschreibe nun die umgekehrte Omega-Wetterlage?
* Beschreiben Sie den Zustand des Objektes bluejay1, das den Vogel aus dem Bild zeigt.
 
* Nennen Sie Eigenschaften und Methoden eines Haushaltsgerätes (z.B. einer Uhr).
:'''Bemerkung: Auch beim Oderhochwasser 2002 herrschte eine umgekehrte Omega-Wetterlage!'''
}}
 
5. Beschreibe die Niederschlagsmenge, die in einzelnen Gebieten fielen (Karte  rechts) und vergleiche Sie mit den [http://www.klimadiagramme.de mittleren Niederschlägen im Jahr]
 
 
Weitere Quellen:
 
*[http://www.dwd.de/bvbw/appmanager/bvbw/dwdwwwDesktop?_nfpb=true&_pageLabel=_dwdwww_spezielle_nutzer_hobbymeteorologen_klimainfos&T19607331211153463365254gsbDocumentPath=Navigation%2FOeffentlichkeit%2FWV%2FGWL%2FGWL__2013__Node.html%3F__nnn%3Dtrue Großwetterlage DWD] Derzeit Januar - März 2013
 
*[http://www.wetteronline.de/rueckblick?pcid=pc_rueckblick_data&gid=a9403&pid=p_rueckblick_diagram&sid=StationHistory&iid=10895&month=06&year=2013&period=4&paraid=RR24 einzelne Wetterelemente, Station wählbar]
 
{{Idee|1=== Historische Hochwasserereignisse ==
[[Datei:Hoachwassermarke.jpg|miniatur|300px|Historische Hochwassermarken in Veitshöchheim/Würzburg am Main]]
<br>
 
 
 
=== Vor 1900 ===
 
* [http://www.matdeutsch.de/galerie_juni2010/index.htm Historische Hochwasser - Bilddokumente]
* '''[http://www.hnd.bayern.de/ereignisse/ereignisse_historisch.htm Bayern]
* [http://www.dwhg-ev.de/ Die Deutsche Wasserhistorische Gesellschaft]
* [http://www.matdeutsch.de/ Historische Hochwasser] c/o Uni Göttingen - Forschungen in Thüringen, Sachsen, Sachsen-Anhalt]
[[File:Hochwasser in Würzburg, 1784.jpg|miniatur|300px| Hochwasser 1784]]
* [http://real-planet.eu/hochwasser.htm Historische Hochwassermarken]
 
'''Einzugsgebiet des Mains'''
* [http://www.wuerzburg.de/2007/m_10317 Hochwasser am Main in Würzburg]
* '''{{wpde|Hochwasser_in_W%C3%BCrzburg|am Main in Würzburg}}'''
* Quellen aus der FRANCONICA der UB-Würzburg:
:* [http://franconica.uni-wuerzburg.de/ub/wuesub/pages/wuesub/229.html 1]
:* [http://franconica.uni-wuerzburg.de/ub/wuesub/pages/wuesub/230.html 2]
* [http://de.wikisource.org/wiki/Historische_Hochwasser_in_Aschaffenburg Historisch Hochwasser in Aschaffenburg]
* [http://www.ortsgeschichte-winterhausen.de/_berichte/hochwasser1.html Winterhausen]
 
'''Einzugsgebiet des Rheins'''}}* [[File:Adobe Reader X icon.png|20px]] [http://www.hochschule-trier.de/fileadmin/groups/11/bauingenieurwesen/Personen/sartor/Forschung/Hist-HW-KJB12.pdf Historische Hochwasser an der Mosel] (Hochschule Trier)
 
*[http://tolu.giub.uni-bonn.de/herget/pages/forschung/forsch-histHW.htm Zur Aussagekraft historischer Hochwasserstände] (Uni Bonn)
 
'''Einzugsgebiet der Elbe/Oder'''
 
*[http://statistik-dresden.de/archives/5601 Dresden]
*[[File:Adobe Reader X icon.png|20px]][http://www.chr-khr.org/files/I-1_Gruenewald_0.pdf Extreme Hochwasser im Elbeinzugsgebiet] Vortrag auf Internat. Workschop in Bregenz, Österreich, 2005]
*[http://www.living-rivers.de/hochwassertagung/vortraege/Hist_Hochwasser_M_Deutsch.pdf Historische Hochwasserereignisse in Thüringen – dargestellt am Beispiel der Saale]
 
*[[File:Adobe Reader X icon.png|20px]][http://www.iws.uni-stuttgart.de/aktuelles/material/workshop/Theresia_Petrow.pdf Historische Hochwasser im Muldegebiet]
 
 
'''Einzugsgebiet der Donau'''
 
*[http://www.hochwasserschutz-regensburg.de/historische-hochwaesser Regensburg]
 
 
{{Aufgabe|
# Fertige eine Tabelle der historischen Hochwasser für die Gebiete am Main, Rhein, Donau und Elbe.
# In welche Jahren traten "zeitgleich" Hochwasser auf?
# Gab es Hochwässer, bei denen die Pegelstände, höher oder vergleichbar hoch waren als die bei der Hochwasserkatastrophe 2013.
# Diskutieren Sie, ob die Pegelstände von früher und heute vergleichbar sind und geben Sie mehrere Gründe an, die die Vergleichbarkeit einschränken.  
# Finden Sie Gründe, warum gleiche Niederschlagsmengen unterschiedliche hohe Wasserstände verursachen können. Denken Sie dabei an historische Eingriffe in die Natur! (Siehe auch --> Faktoren der Hochwasserentstehung)
# Lies zur Bestätigung oder zur Korrektur Deiner Ergebnisse nun den Artikel.}}
 
:*{{wpde|Magdalenenhochwasser}}
 
 
===Literatur===
 
'''Wichtige Literaturquellen:'''
 
*'''[http://www.ieg-ego.eu/de/threads/hintergruende/natur-und-umwelt/atmosphaere/ruediger-glaser-historische-klimatologie-mitteleuropas Glaser, Rüdiger (2012): Historische Klimatologie Mitteleuropas]'''
 
:[http://www.geographie.uni-freiburg.de/ipg/team/glaser_ruediger Professor Dr. Rüdiger Glaser] lehrt an der Universität Freiburg Physische Geographie.Lange Jahre lehrte er an der Universität Würzburg und danach in Heidelberg. 2001 erregte sein Buch "Klimageschichte Mitteleuropas -1000 Jahre Wetter, Klima, Katastrophen" Aufsehen in der Öffentlichkeit und wurde u.a. beim Spiegel rezensiert. In diesem neusten ONLINE-Artikel fasst Professor Rüdiger Glaser das Thema Klimawandel während der letzten 1200 Jahre in Mitteleuropa und damit verknüpfte Hochwasserereignisse verständlich zusammen. Sie sollten den Artikel unbedingt lesen.
 
*'''Deutsch, Mathias; Glaser, Rüdiger; Pörtge, Karl-Heinz; Börngen, Michael; Drescher, Axel; Martin, Brice; Riemann, Dirk; Schönbein, Johannes: Historische Hochwasserereignisse in Mitteleuropa. Quellenkunde, Interpretation und Auswertung.In: Geographische Rundschau, 62 (2010) 3, S. 18-24'''
*'''[http://www2.klett.de/sixcms/list.php?page=suche&modul=produktdetail&isbn=A053-08086X02 Katrin Sturm, Rüdiger Glaser, Jucundus Jacobeit, Mathias Deutsch, Rudolf Brázdil: Hochwasser in Mitteleuropa seit 1500 u. ihre Beziehung zur atmosph. Zirkulation]'''
*[http://www.pik-potsdam.de/skalenanalyse/workshop2005/Imbery.pdf Imbery,Seidel,Dostal,Bürger,Glaser: Regional determination of historical heavy rain for reconstruction of extreme flood events]
*[http://www.naturgefahren.bayern.de/ Portal der Bayerischen Staatsregierung zu Naturgefahren in Bayern, mit Warndiensten]
 
 
{{Aufgabe|1=# Beschaffe Dir in einer Bibliothek oder über den Online-Handel die folgenden Bücher und fasse wesentliche Ergebnisse zusammen!
 
* {{ZUM-Buch}} [http://www.zum.de/buch/index.php?controller=front&action=view&id=197 Hochwasser - Naturereignis oder Menschenwerk?]
* {{ZUM-Buch}} [http://www.zum.de/buch/index.php?controller=front&action=view&id=33 Prof. Rüdiger Glaser: Klimageschichte Mitteleuropas - 1000 Jahre Wetter, Klima, Katastrophen]}}
 
==Faktoren der Entstehung von Hochwässern==
 
{{Aufgabe|# Erarbeiten Sie die beeinflussenden Faktoren für den Oberflächenabflüsse anhand der folgenden Quellen.}}
 
 
*[http://mars.geographie.uni-halle.de/geovlexcms/book/export/html/15 Lernmodul von Uni Halle]
*[http://www.webgeo.de/h_001/ WEBGEO-Modul]
 
==Hochwasserschutz==
{{Aufgabe|
 
Fasse anhand der folgenden Quellen Maßnahmen zum Hochwasserschutz zusammen!
 
* [http://www.stmug.bayern.de/umwelt/wasserwirtschaft/index.htm Hochwasserschutz in Bayern]
:* [http://www.hochwasserschutz-regensburg.de/ Hochwasserschutz Regensburg]
* [http://www.um.baden-wuerttemberg.de/servlet/is/975/ Hochwassermanagment in Baden-Württemberg]
* [http://www.lanuv.nrw.de/wasser/hwschutz.htm Hochwasserschutz in NRW]
* [http://www.mugv.brandenburg.de/cms/detail.php/bb1.c.300897.de Hochwasserschutz in Brandenburg]
* [http://www.umwelt.sachsen.de/umwelt/wasser/7277.htm Hochwasserschutz in Sachsen]
:* [http://www.dresden.de/de/08/03/c_054.php Hochwasserschutz Dresden]
* [http://www.schleswig-holstein.de/UmweltLandwirtschaft/DE/WasserMeer/05_Hochwasserschutz/ein_node.html Hochwasserschutz Schleswig-Holstein]}}
 
 
==Hochwassererfassung==
 
 
{{Aufgabe|
# Beschreibe den Pegel der Fließgewässer in Deiner Region mehrere Tage.
# Triff Vorhersagen für die Pegel im Unterlauf für die folgenden Tage und beobachte, ob Deine Vorhersage eintritt!}}
 
:*[http://www.hochwasserzentralen.de/ Hoch- und Niedrigwasser in allen Bundesländern - aktuelle Messwerte über mehrere Tage - alle Pegel]
 
==Hochwasser und Klimawandel==
 
{{Siehe|Klimawandel}}
 
{{Aufgabe|# Lies zwei der angegebenen Quellen. Welche Aussagen bezüglich des Auftretens von Hochwasserereignissen treffen diese? Wer sind die Autoren der Artikel?}}
 
*[http://www.kliwa.de/index.php?pos=ergebnisse/fachveroeffentlichungen/klimawandel_und_hochwasser/ Klimawandel und Hochwasser www.kliwa.de]
 
*[[File:Adobe Reader X icon.png|20px]][http://www.accc.gv.at/pdf/klimawandel_hochwasser.pdf Klimawandel und Hochwasser] - Österreichisches Klimaportal
 
*[http://www.scilogs.de/wblogs/blog/klimalounge/mechanismen/2013-06-03/hochwasser-und-klima Hochwasser und Klima].
*[http://www.scilogs.de/wblogs/blog/klimalounge/mechanismen/2013-06-09/koennen-globale-klimamodelle-extremniederschlaege-vorhersagen Können globale Klimamodelle Extremniederschläge vorhersagen?]
*[http://www.scilogs.de/wblogs/blog/klimalounge/mechanismen/2013-06-06/extremwetter-durch-planetare-wellen Extremwetter durch planetare Wellen?]
 
==Hochwasserrisiko und Versicherungsschutz==
 
{{Idee|1=
Bei Planung von Neubaugebieten werden heute gewisse Hochwasserrisikogebiete nicht mehr genehmigt.  Bei Kauf von Grundstücken oder Immobilien in älteren Wohngebieten ist es wichtig zu wissen, in welcher Hochwassergefahrenstufe das Objekt, das man kaufen will liegt. Dies beeinflusst auch den Kaufpreis und man sollte sich die Entscheidung reiflich überlegen, da die Versicherungsunternehmen in bestimmten Risikogebieten überhaupt nicht oder nur zu extrem hohen Prämien versichern. Auf jeden Fall muss man sich dieses Risikos bewusst sein, denn ein Straßenzug weiter kann die Situation vollkommen anders sein. }}
 
{{Aufgabe|1=# Lies folgenden Spiegel-Artikel: [http://www.spiegel.de/panorama/flut-in-sachsen-betroffene-sind-gegen-hochwasser-nicht-versichert-a-904240.html Schäden durch die Flut: Existenzangst nach dem Hochwasser]
# Informiere Dich anhand des [http://www.geodaten.bayern.de/bayernviewer-flood/flood/index.cgi?user=expert&rw=4382930.0&hw=5471820.0&layers=tk50,hq1000,uesgfest,uesgerm,hq10,hq100,ereignis&step=64.0 Bayernviewer-Flood] über die Hochwassergefahrenstufe Deines Ortes bzw. Deines Objektes in Bayern.<br>Für andere Bundesländer: Verweisseite [[Topographische Kartenwerke im Unterricht]]
# Mache einen [http://www.wohngebaeudeversicherung.de/was-ist-eine-elementarschadenversicherung/ unverbindlichen Preisvergleich] für Dein Objekt, um zu erfahren, ob überhaupt versichert werden kann und zu welchem Preis!
}}
}}


==Weitere Möglichkeiten der Behandlung im Unterricht==  
== Wissenschaftliche Definition ==
Das folgende Zitat eignet sich, um einen Überblick über die OOP zu erlangen.


*[http://www.lehrer-online.de/ne-hochwasser.php Hochwasser - Umgang mit einer Naturgefahr] - Einsatz von [http://wiki.zum.de/Digitales_Gel%C3%A4ndemodell digitalen Geländemodellen] und [[GIS]] bei Lehrer-ONLINE
{{Zitat wpde|
*[http://www.lehrer-online.de/suche.php?sid=46753570594629073437047284732910 weitere Suchergebnisse zu Hochwasser bei Lehrer-ONLINE]
Die '''objektorientierte Programmierung''', kurz '''OOP''', ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma, welches Flexibilität und Wiederverwendbarkeit von Programmen fördert. Die Grundidee der objektorientierten Programmierung ist, Daten und Funktionen, die auf diese Daten angewendet werden können, möglichst eng in einem sogenannten Objekt zusammenzufassen und nach außen hin zu kapseln, sodass Methoden fremder Objekte diese Daten nicht versehentlich manipulieren können. Im Gegensatz dazu beschreibt das vor der OOP vorherrschende Paradigma eine strikte Trennung von Funktionen (Programmcode) und Daten, dafür aber eine schwächere Strukturierung der Daten selbst. Befürworter der OOP vertreten die These, dass der OOP Ansatz für Computerneulinge leichter zu erlernen ist als bisherige Ansätze.


==Wasserwirtschaftliche Lehrpfade als Exkursionsziel==
Im Folgenden werden wichtige Begriffe der objektorientierten Programmierung kurz umrissen. Für nähere Details sei auf die jeweiligen Einzelabschnitte und -artikel verwiesen.


*[https://www.google.de/#q=%22Wasserwirtschaftlicher+Lehrpfad%22&psj=1&ei=5b-vUZzTCsKttAam9oCQCQ&start=0&sa=N&bav=on.2,or.r_qf.&fp=5305f7b82ce98db7&biw=1137&bih=708 Google-Ergebnisse]
Die einzelnen Bausteine, aus denen ein objektorientiertes Programm während seiner Abarbeitung besteht, werden als Objekte bezeichnet. Die Konzeption dieser Objekte erfolgt dabei in der Regel auf Basis der folgenden Paradigmen:


;Klasse


Siehe auch: [[Rhein]]
Die Struktur eines Objekts wird durch die Attribute (auch Eigenschaften) seiner Klassendefinition festgelegt. Das Verhalten des Objekts wird von den Methoden der Klasse bestimmt. Klassen können von anderen Klassen abgeleitet werden (Vererbung). Dabei erbt die Klasse die Datenstruktur (Attribute) und die Methoden von der vererbenden Klasse (Basisklasse).


==Unterrichtseinheiten==
;Abstraktion
Jedes Objekt im System kann als ein abstraktes Modell eines Akteurs betrachtet werden, der Aufträge erledigen, seinen Zustand berichten und ändern und mit den anderen Objekten im System kommunizieren kann, ohne offenlegen zu müssen, wie diese Fähigkeiten implementiert sind (vgl. abstrakter Datentyp (ADT)).


*[http://www.fis.uni-bonn.de/unterrichtsmaterial/hochwasser-umgang-mit-einer-naturgefahr Hochwasser - Umgang mit einer Naturgefahr]
;Datenkapselung
Als Datenkapselung bezeichnet man in der Programmierung das Verbergen von Implementierungsdetails. Der direkte Zugriff auf die interne Datenstruktur wird unterbunden und erfolgt statt dessen über definierte Schnittstellen. Objekte können den internen Zustand anderer Objekte nicht in unerwarteter Weise lesen oder ändern. Ein Objekt hat eine Schnittstelle, die darüber bestimmt, auf welche Weise mit dem Objekt interagiert werden kann. Dies verhindert das Umgehen von Invarianten des Programms.


;Berichte:
;Polymorphie
Verschiedene Objekte können auf die gleiche Nachricht unterschiedlich reagieren. Wird die Zuordnung einer Nachricht zur Reaktion auf die Nachricht erst zur Laufzeit aufgelöst, dann wird dies auch späte Bindung genannt.


*[http://www.rete-mirabile.net/erdkunde/hochwasser-in-deutschland-im-geographieunterricht Hochwasser in Deutschland im Geographieunterricht] (Rete-Mirabile.net)
;Feedback
Verschiedene Objekte kommunizieren über ein Nachricht-Antwort-Mechanismus, der zu Veränderungen in den Objekten führt und neue Nachrichtenaufrufe erzeugt. Dafür steht die Kopplung als Index für den Grad des Feedback.


==Materialien==
;Vererbung
'''Folgen und Hilfsprogramme'''
Vererbung heißt vereinfacht, dass eine abgeleitete Klasse die Methoden und Objekte der Basisklasse ebenfalls besitzt, also „erbt“. Somit kann die abgeleitete Klasse auch darauf zugreifen. Neue Arten von Objekten können auf der Basis bereits vorhandener Objekt-Definitionen festgelegt werden. Es können neue Bestandteile hinzugenommen werden oder vorhandene überlagert werden. Wird keine Vererbung zugelassen, so spricht man zur Unterscheidung oft auch von objektbasierter Programmierung.


{{Aufgabe|1=Gruppenarbeit: Kollaboratives Schreiben mit dem [http://zumpad.zum.de/ Zumpad].
|Objektorientierte Programmierung|(Zusammenstellung 29.11.2006}}
# Erarbeitet anhand der unten angegebenen Materialien eine vorläufige Übersicht der Folgen der Hochwasserkatastrophe!
Zum gemeinsamen arbeiten könnt ihr ein Ether-Pad benutzen wie z.B. das unten eingebundene ZUM-PAD.
# Erstellt zur Ergebnissicherung eine Mindmap (z.B. mittels dem kostenlosen Programm FREEMIND!.<br>
#. Ihr könnt diese Mindmap auch unter dieser Unterrichtsidee einbinden: [http://www.mediawiki.org/wiki/Extension:FreeMind] Embedding FREEMIND-Mindmaps}}


== Objektorientierte Programmiersprachen ==


{{#ev:youtube|r3jS5GtB13o|400}}
Die folgenden objektorientierten [[Programmiersprache]] sind in diesem Wiki vertreten.
 
*[http://www.deutscherueck.de/uploads/tx_dbdownloads/promet_34_1-2.pdf Überschwemmungen in Mitteleuropa:Ursachen, Auswirkungen und Perspektiven]
*[http://www.cedim.de/ CEDIM - Berichte (KIT Karlsruhe - GFZ Potsdam)]
*[http://www.bpb.de/politik/hintergrund-aktuell/163064/hochwasser-in-deutschland Hochwasser in Deutschland Bundeszentrale f. pol. B.]
*[http://www.bundesregierung.de/Content/DE/Infodienst/2013/06/Hochwasserhilfe/2013-06-14-hochwasserhilfe-in-deutschland.html Hilfsprogramm der Bundesregierung - Infodienst]
*[http://www.wirtschaftsforum.de/artikel/56512/Wie-schlimm-trifft-das-Rekord-Hochwasser-die-Wirtschaft-wirklich.html Wie schlimm trifft das Rekord-Hochwasser die Wirtschaft wirklich?] www.wirtschaftsforum.de
*[http://www.zdf.de/ZDFmediathek/beitrag/video/1926054/Tourismus-leidet-unter-Hochwasser-Folgen Tourismus leidet unter Hochwasserfolgen] ZDF-Mediathek
*[http://www.kreiszeitung.de/nachrichten/deutschland/hochwasser-schwere-folgen-elbregionen-zr-2961673.html Hochwasser hat schwere Folgen für die Elbregion] Zeitungsbericht mit Bildvergleich
 
{{#ev:youtube|uVgY-6yh3iM|400}}
 
*[http://www.stmug.bayern.de/umwelt/wasserwirtschaft/hochwasser/hochwasser2013.htm Informationen des StMELF Bayern]
 
:*[http://www.stmelf.bayern.de/hochwasser Informationen des StMELF in Bayern]
 
*[http://www.topagrar.com/Das_Jahrhunderthochwasser_2013_-1164222.html Hochwasserschäden und -folgen] TOPAGRAR.COM
*[http://www.sueddeutsche.de/wirtschaft/hochwasser-und-landwirtschaft-auch-kuehe-brauchen-einen-schutzwall-1.1691340 Folgen für die Landwirtschaft]SZ
 
'''Die Flut'''
 
*[http://www.bpb.de/politik/hintergrund-aktuell/163064/hochwasser-in-deutschland Dossier zu Hochwasser in Deutschland] Informationszentrale für politische Bildung
*[http://www.umwelt-im-unterricht.de/category/stichworte/hochwasser Alle Inhalte zum Thema "Hochwasser"] (Umwelt im Unterricht)
**[http://www.umwelt-im-unterricht.de/medien/dateien/materialien-zum-hochwasser-2013 ARBEITSMATERIAL: MATERIALIEN ZUM HOCHWASSER 2013]
*[http://scienceblogs.de/astrodicticum-simplex/2013/06/08/das-hochwasser-in-deutschland-vom-weltall-aus-gesehen/ Das Hochwasser in Deutschland, vom Weltall aus gesehen] (Florian Freistetter, 8. Juni 2013)
*[http://www.zki.dlr.de/de/article/2374 Hochwasser in Deutschland: GMLZ aktiviert den Service ZKI-DE] (Zentrum für Satellitengestützte Kriseninformation)
 
:"Das Gemeinsame Lagezentrum des Bundes und der Länder (GMLZ) hat das ZKI mit der Erstellung von Lageinformationen auf Basis von Satelliten- und Luftaufnahmen für die vom aktuellen Hochwasser am stärksten betroffenen Gebiete in den Bundesländern Thüringen, Sachsen, Bayern und Baden-Württemberg beauftragt."
 
{{Aufgabe|
1. Lies folgenden Text und erkläre den Inhalt mit eigenen Worten.<br>
 
:*  [[File:Neu.png|20px]][http://www.volksstimme.de/nachrichten/sonderthemen/flut_2013/1097589_Warnung-Eine-neue-Flut-rollt-unterirdisch-an.html '''Warnung: eine neue Flut rollt unterirdisch an.'''] Zeitungsbericht 24.6.2013
 
2. Fasse den Inhalt schriftlich mit ca. 100 Worten zusammen.<br>
 
3. Informiere Dich über den Wasserkreislauf: z.B [http://wikis.zum.de/rsg/Wasser_als_Lebensgrundlage#Der_Wasserkreislauf RSG-Wiki] }}
 
 
<nowiki>}}</nowiki>
 
==Diskussion eines ZEIT-Artikels==
 
{{Aufgabe|
1. Lies folgenden Artikel
 
*[http://www.zeit.de/wissen/2013-06/interview-david-blackbourn-flussbegradigung-hochwasser Die Leute sollten Wegziehen]
 
2. Analysiere im Atlas die Bevölkerungsdichtekarte von Deutschland in Bezug zur Meinung des britischen Wissenschaftlers.
 
3. Versuche herauszubekommen wieviele Menschen in Deutschland in hochwassergefährdeten Gebieten leben und weshalb in anderen, z. B. südeuropäischen oder orientalischen Ländern dies anders ist.
 
4. Diskutiere in angemessener Form Deine Meinung auf dem [http://zumpad.zum.de/p/Hochwasser_in_Deutschland ZUMPAD]
}}
 
<iframe name="embed_readwrite" src="http://zumpad.zum.de/p/Hochwasser_in_Deutschland?showControls=true&showChat=true&showLineNumbers=true&useMonospaceFont=false" width="900" height="600"></iframe>


{{Naturkatastrophen}}
* C++
* C#
* [[Java]]
* [[JavaScript]]
* [[Python]]


==Weitere Materialien==
== Weblinks ==
* Genauere Einsteigererläuterung: [http://www.u-helmich.de/inf/BlueJ/kurs11/index.html Klassen und Objekte] von Ulrich Helmich


*[http://wiki.bildungsserver.de/klimawandel/index.php/Starkregen_und_Hochwasser_in_Europa Starkregen und Hochwasser in Europa] (Klimawandel im Bildungsserver-Wiki)
== Siehe auch ==
*[http://wiki.bildungsserver.de/klimawandel/index.php/Starkniederschläge_und_Hochwasser Starkniederschläge und Hochwasser] (Klimawandel im Bildungsserver-Wiki)
* [[Java/Einstieg in die OOP]]  
*[http://www.schroedel.de/schroedelaktuell/hochwasser_2013.php Schwerpunkt: Hochwasser in Deutschland] (SchroedelAktuell) - kostenpflichtig
* [[:Datei:Arbeitsblatt Vererbung.odg|Arbeitsblatt zur Vererbung]]


[[Kategorie:Geographie]]
[[Kategorie:Informatik]]
[[Kategorie:Programmiersprache]]
[[Kategorie:Unterrichtsidee]]

Version vom 11. August 2021, 19:03 Uhr

Die Objekt-Orientierte Programmierung (OOP) beschreibt ein Programm als Interaktion zwischen Objekten. Diese können sich gegenseitig Nachrichten senden und dadurch ihren Zustand - ihre Attribute - ändern.

Zusammenfassung

  • Objekte sind in der objektorientierten Programmierung Daten (Eigenschaften oder auch Atrribute) und die damit verknüpfte Programmlogik (Methoden oder auch Operationen), die zu Einheiten, nämlich eben den Objekten, zusammengefasst sind.
  • Gleichartige Objekte werden zu Klassen zusammengefasst.
  • Klassen dienen als Vorlage (wie ein Bauplan) zur Herstellung von Objekten. Von einer Klasse können beliebig viele Objekte hergestellt werden. Die Objekte sind einzigartig, da sie einen unterschiedlichen Namen tragen müssen, obwohl ihr Zustand identisch sein kann.
  • Der Zustand (oder auch Status) ist die Gesamtheit der Werte der Eigenschaften.
  • nach Objektorientierte ProgrammierungDatei:Wikipedia-logo.png und nach: [1]

Einstieg in die Objekt-Orientierte Programmierung

Unterrichtsidee Rollenspiel

Vorlage:Siehe

Unterrichtsidee Textadventure

Unterrichtsidee

Martin Jakobs stellt auf seiner Webseite das Projekt Textadventure als Einstieg in die Objektorientierte Programmierung vor.


Unterrichtsidee Vogel

Unterrichtsidee

Zunächst klären wir am Beispiel Vogel, was eine Klasse ist: Ähnlich wie in der Biologie gruppiert man in der OOP (Objektorientierten Programmierung) Objekte und fasst sie in Klassen zusammen.

Ein "Blue Jay" (deutsch Blauhäher) ist der Namensgeber von BlueJ, der Einsteiger-Java-IDE

Dabei stellt sich die Frage, was einen Vogel auszeichnet:

  • Ein Vogel hat bestimmte Eigenschaften (oder Attribute). Er hat zum Beispiel eine bestimmte Farbe, ein Geschlecht und man kann seine Flügelspannweite messen.
  • Ein Vogel kann bestimmte Dinge tun. Er kann etwa singen oder ein Ei legen. Das sind die so genannten Methoden (Operationen) des Vogels wie singe() oder legeEi().

Methoden teilt man in zwei Gruppen ein

  • Es gibt zum einen beobachtende oder auch sondierende Methoden. Diese beantworten z.B. die Frage: Welche Farbe hast du? Im Programm werden sie gibFarbe() oder getFarbe() genannt.
  • Zum anderen gibt es Methoden, die Eigenschaften ändern können (verändernde Methode). Ein Beispiel wäre setFarbe(“gruen“), welche die Farbe eines Objektes ändern könnte.

Aus der Klasse Vogel lassen sich konkrete Objekte bilden: z.B. vogel1, vogel2, vogel3. Jedes Objekt hat einen bestimmten Zustand. So kann z.B. vogel1 die Farbe gelb haben, weiblich sein und 40 cm Spannweite haben. der Zustand von vogel2 könnte sein: gelb, 30 cm Spannweite, männlich. Während die Klasse Vogel etwas abstraktes ist (eine Art Bauplan für Objekte) ist ein Objekt konkret.


Übung
  • Nennen Sie weitere Eigenschaften und Methoden einer Klasse Vogel.
  • Je nachdem, ob man für ein Zoogeschäft oder ein Lexikon ein Verwaltungsprogramm schreibt, bekommt eine Klasse Vogel ganz andere Eigenschaften. Nennen Sie Eigenschaften, die jeweils nur für einen der beiden Auftraggeber (Zoogeschäft, Lexikon) wichtig sind.
  • Beschreiben Sie den Zustand des Objektes bluejay1, das den Vogel aus dem Bild zeigt.
  • Nennen Sie Eigenschaften und Methoden eines Haushaltsgerätes (z.B. einer Uhr).


Wissenschaftliche Definition

Das folgende Zitat eignet sich, um einen Überblick über die OOP zu erlangen.

Die objektorientierte Programmierung, kurz OOP, ist ein auf dem Konzept der Objektorientierung basierendes Programmierparadigma, welches Flexibilität und Wiederverwendbarkeit von Programmen fördert. Die Grundidee der objektorientierten Programmierung ist, Daten und Funktionen, die auf diese Daten angewendet werden können, möglichst eng in einem sogenannten Objekt zusammenzufassen und nach außen hin zu kapseln, sodass Methoden fremder Objekte diese Daten nicht versehentlich manipulieren können. Im Gegensatz dazu beschreibt das vor der OOP vorherrschende Paradigma eine strikte Trennung von Funktionen (Programmcode) und Daten, dafür aber eine schwächere Strukturierung der Daten selbst. Befürworter der OOP vertreten die These, dass der OOP Ansatz für Computerneulinge leichter zu erlernen ist als bisherige Ansätze.

Im Folgenden werden wichtige Begriffe der objektorientierten Programmierung kurz umrissen. Für nähere Details sei auf die jeweiligen Einzelabschnitte und -artikel verwiesen.

Die einzelnen Bausteine, aus denen ein objektorientiertes Programm während seiner Abarbeitung besteht, werden als Objekte bezeichnet. Die Konzeption dieser Objekte erfolgt dabei in der Regel auf Basis der folgenden Paradigmen:

Klasse

Die Struktur eines Objekts wird durch die Attribute (auch Eigenschaften) seiner Klassendefinition festgelegt. Das Verhalten des Objekts wird von den Methoden der Klasse bestimmt. Klassen können von anderen Klassen abgeleitet werden (Vererbung). Dabei erbt die Klasse die Datenstruktur (Attribute) und die Methoden von der vererbenden Klasse (Basisklasse).

Abstraktion

Jedes Objekt im System kann als ein abstraktes Modell eines Akteurs betrachtet werden, der Aufträge erledigen, seinen Zustand berichten und ändern und mit den anderen Objekten im System kommunizieren kann, ohne offenlegen zu müssen, wie diese Fähigkeiten implementiert sind (vgl. abstrakter Datentyp (ADT)).

Datenkapselung

Als Datenkapselung bezeichnet man in der Programmierung das Verbergen von Implementierungsdetails. Der direkte Zugriff auf die interne Datenstruktur wird unterbunden und erfolgt statt dessen über definierte Schnittstellen. Objekte können den internen Zustand anderer Objekte nicht in unerwarteter Weise lesen oder ändern. Ein Objekt hat eine Schnittstelle, die darüber bestimmt, auf welche Weise mit dem Objekt interagiert werden kann. Dies verhindert das Umgehen von Invarianten des Programms.

Polymorphie

Verschiedene Objekte können auf die gleiche Nachricht unterschiedlich reagieren. Wird die Zuordnung einer Nachricht zur Reaktion auf die Nachricht erst zur Laufzeit aufgelöst, dann wird dies auch späte Bindung genannt.

Feedback

Verschiedene Objekte kommunizieren über ein Nachricht-Antwort-Mechanismus, der zu Veränderungen in den Objekten führt und neue Nachrichtenaufrufe erzeugt. Dafür steht die Kopplung als Index für den Grad des Feedback.

Vererbung

Vererbung heißt vereinfacht, dass eine abgeleitete Klasse die Methoden und Objekte der Basisklasse ebenfalls besitzt, also „erbt“. Somit kann die abgeleitete Klasse auch darauf zugreifen. Neue Arten von Objekten können auf der Basis bereits vorhandener Objekt-Definitionen festgelegt werden. Es können neue Bestandteile hinzugenommen werden oder vorhandene überlagert werden. Wird keine Vererbung zugelassen, so spricht man zur Unterscheidung oft auch von objektbasierter Programmierung.



Datei:Wikipedia-logo.png Programmierung Objektorientierte Programmierung, Wikipedia – Die freie Enzyklopädie, (Zusammenstellung 29.11.2006 - Der Text ist unter der Lizenz „Creative Commons Attribution/Share Alike“ verfügbar; zusätzliche Bedingungen können anwendbar sein. Siehe die Nutzungsbedingungen für Einzelheiten. In der Wikipedia ist eine Liste der Autoren verfügbar.



Objektorientierte Programmiersprachen

Die folgenden objektorientierten Programmiersprache sind in diesem Wiki vertreten.

Weblinks

Siehe auch