Objektorientierte Programmierung (OOP) 1

Slides:



Advertisements
Ähnliche Präsentationen
g²HANDEL Auftragsverwaltung für Handelsvertretungen
Advertisements

Blue J.
Objektorientierte Programmierung
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Java: Objektorientierte Programmierung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Teil I - Erstellen einer Excel-Tabelle zur Deckungsbeitragsrechnung
Excel Kurs Teil I Excel starten, Verknüpfungen auf dem Desktop anlegen. F. Bäumer.
DVG Klassen und Objekte
Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb.
1 Nutzen Sie diese Powerpoint-Präsentation beim Selbstlernen oder in Veranstaltungen zur Einführung in das jeweilige Thema. Einführung Lernmodul Nutzungsbedingungen:
Delphi Eine objektorientierte Programmiersprache © Beushausen 2000.
Tipps und Tricks für Word 2000 Aytac, Felix, Steffen 04/05.
Empfangene s Neue schreiben Textfenster für empfangene s Adressbuch
ALLGEMEIN: Sie sehen nun eine Demo mit der die Verarbeitung unter der Vorschrift DIN VDE0701/0702 gezeigt wird. Diese Verarbeitung erfolgt in gleicher.
Delphi II - OOP IFB Fortbildung
Anlegen von Ordnern, speichern und Öffnen von Bildern und Briefen
Wie man eine einfache Präsentation erstellt...
Hyperlinks und Anker Links notieren
I Shop - Anwendertraining. Einloggen und Profil prüfen.
Auf Wunsch einer einzelnen Dame
Betriebsanleitung DQI-WaWi2.
Microsoft Outlook Express zur Einführung von Microsoft Outlook Express. Willkommen Erstellt von IT-Intern.
Moin. Ich benutze PPT 2002 und möchte drei Bilder nacheinander 1
Entwurfs- und Implementationsdiagramme
Smart Features b Relationen b Regeln. Relationen b Definition: b Eine Relation ist eine Verbindung zwischen zwei Objekten. Diese Objekte können entweder.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Datenreihen erzeugen –
UML-Kurzüberblick Peter Brusten.
die Auftragsbearbeitung für den Kleinbetrieb
Soziogramm und Soziogramm Designer
Einführung. Steuerelemente Hier erstellt man das Fenster, mit dem der Anwender später arbeiten soll: Werte eingibt Buttons klickt Auswahlen trifft.
PG5 Building Advanced / DDC Suite 2.0 BACnet
Hilfe Dokumente.
Interaktive Übungen mit Word
Erste Schritte in DELPHI
Programmierparadigmen
Programmiervorkurs WS 2014 Referenzdatentypen
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Baustellenlogistik Die nachfolgende Präsentation beschreibt den Prozess, mit dem die Verfügbarkeit aller Artikel sicher zu stellen ist, die für die Durchführung.
CSS Cascading Style Sheets
Polymorphie (Vielgestaltigkeit). Wenn eine Methode, wie z.B. print für verschiedene Programmteile steht (und z.B. einmal Objekte verschiedener Klassen.
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
Lektion 1 - Lektion 2 - Lektion 3 - Lektion 4
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Institut für Kartographie und Geoinformation Prof. Dr. L. Plümer, Dipl.-Ing. D. Dörschlag, Dr. G. Gröger Einführung in die Programmierung mit Java 13.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Objektorientierte Programmierung (OOP)
Preisfindung Rabattgruppen
Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1.
INTERN Preisfindung Zeit- und Mengenrabatte SAP Business One, Version 9.0.
Objektorientierte Programmierung §Klassen §Objekte §Attribute §Eigenschaften §Methoden §Datenkapselung §Ereignisse §Vererbung §Entwicklungszeit §Laufzeit.
Klicken Sie auf „Adressen“, um zur Adress-Modul zu gelangen. Sie können auch auf den Adress-Button in der Menu- Leiste klicken, um in das Adress-Modul.
Objektorientierte Programmierung Was ist das eigentlich ?
Programmierung unter VB.Net mit der IDE VisualStudio. Schritt für Schritt erklärt und beschrieben. Zielgruppe: Komplette Neueinsteiger mit fundiertem Computerwissen.
Tutorium Software-Engineering SS14 Florian Manghofer.
Implementieren von Klassen
 Präsentation transkript:

Objektorientierte Programmierung (OOP) 1 Objektorientierte Programmierung (OOP) 1. Strukturiert versus objektorientiert Strukturierte Programmierung lässt sich mit folgenden Stichworten charakterisieren: hierarchische Programmorganisation, logische Programmeinheiten, zentrale Programmsteuerung. Ziel der strukturierten Programmierung ist es, Algorithmen so darzustellen, dass ihr Ablauf einfach zu erfassen und zu verändern ist. Objektorientierte Programmierung ist ein Denkmuster, bei dem Programme als Menge über Nachrichten kooperierenden Objekten organisiert werden und jedes Objekt Instanz einer Klasse ist. Die OOP greift die menschliche Denkweise auf, indem sie reale Objekte aus der Umwelt identifiziert und in ihrer Art beschreibt.

Objektorientierte Programmierung 2. Grundbegriffe der OOP Objekt, Klasse, Instanz Unter einem Objekt versteht man die Zusammenfassung (Kapselung) von Daten und zugehörigen Funktionalitäten. Objekte sind ganz allgemein Dinge, die im Programm beschrieben werden und eine logische Einheit von Eigenschaften, Methoden und Ereignissen bilden. Eine Klasse ist ein Bauplan, auf dessen Grundlage die entsprechenden Objekte zur Programmlaufzeit erzeugt werden. Beispiel: Typische Objekte einer betriebswirtschaftlichen Software sind Bestellungen, Aufträge, Artikel, Kunden, usw. Da in der künftigen Anwendung nicht nur eine Bestellung ausgeführt werden soll ist es sinnvoll festzulegen, wie eine Bestellung im Allgemeinen aussehen soll. Dies ist der erste Schritt bei der OOP. Das Aussehen aller vorkommender Objekte wird in Form eines Planes festgelegt. Diese Pläne nennt man dann Klassen. Eine Klasse ist der Bauplan für ein Objekt, in dem Eigenschaften (Merkmale, Daten) und Methoden (Fähigkeiten, Funktionen) definiert werden.

Objektorientierte Programmierung 2. Grundbegriffe der OOP In einer Klasse legt man fest, welche Eigenschaften das Objekt hat. Für eine Bestellung könnten das folgende Eigenschaften sein: Bestellnummer Bestellwert Bestelldatum Rabatt …. Außerdem sollen die Methoden der zukünftigen Objekte festgelegt werden. Für eine Bestellung könnte man folgende Methoden erwarten: Bestellung ausdrucken Rabatt ermitteln … Bei einer Klasse handelt es sich nur um ein Konstrukt. Ein konkretes Objekt erhält man erst wenn man eine Instanz einer Klasse bildet. Bei jeder eingehenden Bestellung wird eine Instanz der Klasse Bestellung erzeugt. Während die Klasse die Eigenschaft Bestellnummer definiert, wird der konkrete Wert (11429,11430, …) erst beim Erzeugen des Objekts ( der Instanz) zugewiesen.

Objektorientierte Programmierung 2. Grundbegriffe der OOP Definition einer Klasse in UML (Unified Modeling Language) Klassenname Cbestellung bestellnr: date bestelldatum: date bestellwert: real rabatt: real gesamtbestellwert: real Eigenschaften rabatt_berechnen() bestellwert_incl_rabatt() Methoden

Objektorientierte Programmierung 2. Grundbegriffe der OOP Kapselung und Wiederverwendbarkeit Durch die Kapselung von Klassen werden die internen Daten und einige verborgene Methoden geschützt, sie sind also von außen nicht zugänglich. Die Veränderung des Objekts kann nur über streng definierte öffentliche Methoden erfolgen. Die Eigenschaften und Methoden werden in zwei Kategorien eingeteilt. Die einen sind von außen sichtbar und können verändert werden; die anderen stehen dagegen nur innerhalb der Klasse zur Verfügung. Unter Kapselung versteht man, dass eine Klasse definierte Schnittstellen zur Außenwelt hat. Nicht alle Eigenschaften und Methoden sind von außen sicht - und nutzbar. Klassen ermöglichen die Wiederverwendbarkeit von Code. Nachdem eine Klasse geschrieben wurde, kann diese an verschiedenen Stellen innerhalb einer Applikation verwendet werden. Ändert sich etwas an der Rabattstaffelung der Lieferanten, muss dies nur in der Klasse cbestellung geändert werden. Die Änderung wird dann in allen Programmen wirksam, die mit Bestellungen arbeiten.

Objektorientierte Programmierung 2. Grundbegriffe der OOP Vererbung und Polymorphie Klassen können Eigenschaften und Methoden vererben. Dabei wird eine Vererbungshierarchie gebildet. Die Unterklassen erben alle Eigenschaften und Methoden ihrer Oberklasse. Unterklassen können zu den geerbten Eigenschaften neue hinzufügen oder Eigenschaften der Oberklasse verstecken, indem sie diese überschreiben. Wenn ein und dieselbe Methode für verschiedene Objekte verwendet wird nennt man dies Polymorphie (Vielgestaltigkeit). Das Kerngeschäft des Unternehmens ist auf die Bestellung von Rohstoffen und Baumaterialien ausgerichtet. Jetzt soll aber die Klasse cbestellung auch zur Beschaffung von Verbrauchsmaterial (Briefumschläge, Papier, Schreibmaterial,…) verwendet werden soll. Dazu müsste noch die Eigenschaft Kostenstelle hinzugefügt werden. Standartbestellungen benötigen aber keine Eigenschaft Kostenstelle. Eine ganz neue Klasse zu kreieren ist sicherlich auch nicht sinnvoll, da viele Eigenschaften und Methoden deckungsgleich mit der Klasse cbestellung sind. Es wird die Klasse cverbrauchsbestellung abgeleitet.

Objektorientierte Programmierung 2. Grundbegriffe der OOP Vererbung in UML Cbestellung bestellnr: date bestelldatum: date bestellwert: real rabatt: real gesamtbestellwert: real rabatt_berechnen() bestellwert_incl_rabatt() Cverbrauchsbestellung Kostenstelle : string

Einstieg in Visual Studio Erster Überblick Über Datei -> Neues Projekt öffnet sich der Startdialog "Neues Projekt". Unter den dort aufgeführten Vorlagen für Visual C# Projekte wählen wir die WindowsForms-Anwendung. Es kann sich nun folgender Anblick bieten, fehlende Fenster können über Ansicht zusätzlich ausgewählt werden.

Einstieg in Visual Studio Im Projektmappen-Explorer wird der Inhalt der Projekte übersichtlich dargestellt. Properties: Hier sind verschiedene Dateien zusammengefasst, die die Projekteigenschaften bestimmen. (Titel, Beschreibung, Versionsnummer, Copyright, Ressourcen, Projekteinstellungen). Verweise: Für das Projekt gültige Verweise und Namensräume. Form1.cs: Klasse, die den selbst zugefügten Code enthält. Form1.Designer.cd: Klasse, die vom Windows Forms Designer automatisch hinzugefügt wird. Program.cs: Klasse, die die Main-Methode enthält.

Einstieg in Visual Studio Der Designer Im Designer – Fenster wird die Programmoberfläche der Anwendung entworfen. Aus der Toolbox werden die Steuerelemente mit Drag & Drop auf ein Formular übernommen.

Einstieg in Visual Studio Das Eigenschaften- Fenster Dort werden die Eigenschaften des gerade aktiven Steuerelements aufgelistet. Aktiviert wird ein Steuerelement entweder durch Anklicken auf dem Formular, oder durch Auswahl in der Klappbox am oberen Rand des Eigenschaften- Fensters.

Einstieg in Visual Studio Das Codefenster Für die eigentliche Programmierung ist das Codefenster zuständig. Der Code-Editor unterstützt auf das Schreiben von Quellcode, indem er Wörter farblich markiert, Vorschläge unterbreitet (Intellisense), auf Fehler hinweist und Text automatisch einrückt.

Einstieg in Visual C# Windows Forms- Anwendung Maximumsbestimmung von drei Integer Zahlen Starten Sie Visual Studio und öffnen Sie ein neues Projekt (Vorlage "Windows Forms – Anwendung). Geben Sie als Namen Maximum ein. Mit F4 holen Sie sich das Eigenschaftenfenster in den Vordergrund und stellen damit die Text- Eigenschaft des Startformulars Form1 neu ein: "Maximum von drei Zahlen". Von der Toolbox ziehen Sie die Steuerelemente ( 3mal TextBox, 1 mal Button, 4 mal Label) gemäß folgender Abbildung auf Form1 und stellen auch hier bestimmte Text - Eigenschaften neu ein:

Einstieg in Visual C# Windows Forms- Anwendung Programmierung Durch einen Doppelklick auf Maximum wird automatisch das Codefenster der Klasse Form1 mit dem bereits vorbereiteten Rahmencode des Click- Eventhandlers geöffnet.

Einstieg in Visual C# Windows Forms- Anwendung Bemerkungen: Ein c# Programm besteht aus mindestens einer *.cs – Textdatei mit einer Klasse. Ein c# Programm beginnt mit der Main- Methode. Jedes c# Programm besteht aus einer Folge von Anweisungen. Jede c# Anweisung wird mit einem Semikolon abgeschlossen. Die using Anweisungen zu Beginn des Programms definieren verschiedene Namespaces und erleichtern den Zugriff auf einige wichtige Klassenbibliotheken. Entsprechend der Aufgabenstellung wird der Eventhandler mit den erforderlichen Anweisungen gefüllt. Der try – catch – Block wird benötigt um Falscheingaben abzufangen.

Einstieg in Visual C# Windows Forms- Anwendung

Einstieg in Visual C# Windows Forms- Anwendung Kompilieren und starten können sie das Programm mit F5 oder über das kleine grüne Dreieck. Für die Eingabe der Zahlenwerte gibt es keine fest vorgegebene Reihenfolge. Die Werte sind in der Text Eigenschaft der Textboxen enthalten und müssen deshalb mit Hilfe der convert Klasse vom Datentyp String in den Integer- Datentyp umgewandelt werden. Die Ausgabe erfolgt umgekehrt mittels der bereits bekannten ToString Methode, deren Ergebnis der Text- Eigenschaft von label4 zugewiesen wird. Wird statt einer Ganzzahl eine andere Zeichenfolge eingegeben, erscheint folgende Fehlermeldung:

Einstieg in Visual C# Windows Forms- Anwendung Erweitern Sie das Programm so, dass beliebig viele Zahlen eingegeben werden können. Eine TextBox dient zur Eingabe der Zahlen, die per Enter-Taste in eine ListBox übernommen werden sollen. Für die Eingabe sollen nicht nur ganze Zahlen, sondern auch Kommazahlen zulässig sein. In die Klasse Form1 ist folgender Code einzutragen.

Einstieg in Visual C# Windows Forms- Anwendung Der folgende Event-Handler für das KeyUp- Ereignis von textBox1 überträgt dann den Eintrag nach listBox1, wenn die Enter-Taste gedrückt wird. Anschließend wird der Eintrag in der Textbox gelöscht, um für neue Zahleneingaben bereit zu sein. Der Rahmencode wird nicht von Hand eingegeben, sondern über die Ereignisse- Seite des Eigenschaftenfensters erzeugt.

Einstieg in Visual C# Windows Forms- Anwendung Ein weiterer Event- Handler wertet das Click- Ereignis von Button1 aus. Der Inhalt der ListBox wird ausgelesen und in das Array kopiert. Da der erste Eintrag einer ListBox (genauso wie das erste Feld eines Arrays) immer den Index null hat, kann man das Kopieren mit einer for-Schleife erledigen.

Einstieg in Visual C# Windows Forms- Anwendung Der letzte Event-Handler ermöglicht das Löschen der gesamten Zahlenreihe, um wieder von vorne beginnen zu können. Ergänze das Programm um die Berechnung des Minimums und des Durchschnitts.

Einstieg in Visual C# Windows Forms- Anwendung