Klassen und Objekte (1)

Ähnliche Dokumente
Dateiverarbeitung (1)

Grundlagen der Informatik Vererbung von Klassen

Modul 122 VBA Scribt.docx

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Überblick. 5. Objekt und Klasse, Elementfunktionen

Repetitorium Informatik (Java)

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Felder (1) Felder (Arrays) speichern viele Datenelemente des gleichen Typs. Auf einzelne Elemente kann über einen Index zugegriffen werden

VBA-Programmierung: Zusammenfassung

Einführung in die Programmierung mit VBA

Informationsverarbeitung im Bauwesen

Javakurs zu Informatik I. Henning Heitkötter

Einführung in VisualBasic for Applications. Stefan Mahlitz

1.) Behandlung von Laufzeitfehlern in Visual Basic

E-PRIME TUTORIUM Die Programmiersprache BASIC

Beispiel: Zwischen der Oberklasse und der abgeleiteten Klasse besteht eine ist ein Beziehung. Eine abgeleitete Klasse stellt eine Spezialisierung der

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

ASP: Active Server Pages

Einstieg in die Informatik mit Java

Anwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Inhalt. 1. Einführung in die Informatik. 2. Algorithmen. 3. Programmiersprache Visual Basic. 4. Grundlagen der Datenbanktechnologie.

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Objektorientierte Programmierung

Objektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen

Objektorientiertes Programmieren in C++

Objektorientierte Programmierung mit Python Polymorphismus und Vererbung. Eltern

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Einstieg in die Informatik mit Java

Probeklausur: Programmierung WS04/05

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Einstieg in die Informatik mit Java

Theorie zu Übung 8 Implementierung in Java

Überblick. 6. Konstruktor und Destruktor - obligatorische Elementfunktionen einer Klasse

Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Programmieren II Vererbung. Einleitende Bemerkungen

Informatik II. Nutzen Objektorientierung, C++ (1)

Der Operator this. Wir betrachten nochmals die Klassendefinition von Ballon.

1 Abstrakte Klassen, finale Klassen und Interfaces

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Präsentation Interfaces

Excel VBA. Teil Zusammenfassung! Was wir können sollten! V

Programmieren 2 Java Überblick

Objektorientierte Programmierung OOP

Nach der Installation kann es auch schon losgehen. Für unseren Port Scanner erstellen wir zunächst ein neues Projekt:

4. Objektorientierte Programmierung mit C++

Die Klasse Collection (gb) implementiert eine Hash-Tabelle, deren Elemente aus einem Wert-Schlüssel-Paar

Access 2003 Programmierung mit Visual Basic

Objektorientierte Programmiersprachen

Vererbung & Schnittstellen in C#

BTree.dll - Balancierte und verkettete Bäume. Ecofor. BTree.dll. Realisiert mit Microsoft Visual Studio /9

4. Objektorientierte Programmierung mit C++

Grundlagen der Informatik

Vorlesung Datenstrukturen

Programmierung und Angewandte Mathematik

7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

13 OOP MIT DELPHI. Records und Klassen Ein Vergleich

Einführung in die Informatik

Flexibler Einsatz von VBA-Code und Access-Elementen durch Kapselung und modularer Programmierung (Josef Pötzl,

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

Klassenbeziehungen & Vererbung

Methoden (fortgeschritten) in C# - 1

OLConnector Programmierung

1. Abstrakte Klassen

System.out.println("TEXT");

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

Java Vererbung. Inhalt

jetzt lerne ich Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

Excel Funktionen durch eigene Funktionen erweitern.

Interoperabilität mit Office-Anwendungen (1)

Java I Vorlesung Vererbung und Sichtbarkeit

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen

Einstieg in die Programmierung mit Visual Basic.NET

Java Einführung Klassendefinitionen

Klausur Grundlagen der Programmierung

Makro Programmierung User Interface (Entwicklungs- Umgebung) Grafische Werkzeugbox. GUI Form erstellen (UserForm)

Abschnitt 4: Grundlagen der Datenbanktechnologie

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Objektorientierte Programmierung OOP

Grundlagen von Python

B Java RMI B.2 B.4. 1 Java. 1.2 Methoden. 1.1 Objekte (2) 1.1 Objekte. Objektorientierte Sprache. Klassenbeschreibung. Methode ist eine Art Funktion

Office Objektmodell (1)

Dr. Monika Meiler. Inhalt

1. Java ist Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

ALGOL 68 im Aspekt einer modernen Programmiersprache???

ASP: Active Server Pages

12. ArcView-Anwendertreffen Workshop Programmierung in ArcGIS. Daniel Fuchs. Wo kann eigene Programmierung in ArcGIS verwendet werden?

wenige Konzepte, keine Adressen, Anlehnung an C++ -Syntax Vererbung, Polymorphie/dynamisches Binden, umfangreiche Klassenbibliotheken

Transkript:

Klassen und Objekte (1) Begriffe Objekt Objekte definieren sich über Eigenschaften und auf sie anwendbare Methoden. Für grafische Elemente einer Anwendung, stehen Objekte bereit. Das ermöglicht z.b. das Auslesen von Werten aus Eingabefeldern: Dim Value As Integer Value = Val(TextBox1.Text) Eigenschaften definieren Zustände eines Objekts. Eigenschaften können gelesen oder gesetzt werden. Alle Eigenschaften zusammen ergeben den Zustand des Objekts. Methoden Unterprogramme, die an einen Objekt-Typ gebunden sind und den Objektzustand ändern können Peter Sobe 67

Sicht auf ein Objekt: Klassen und Objekte (2) Verhalten (über Methoden) Zustand (Werte aller objekt-lokalen Variablen) Klasse: Softwarekonstruktion, die ein Objekt mit seinen Methoden und Variablen definiert. Wird oft auch als Objekttyp bezeichnet. Vergleichbar mit Struktur-Typ und daraus deklarierten Variablen Man erhält ein Objekt, indem man eine Klasse instanziiert, d.h. eine Instanz einer Klasse bildet Peter Sobe 68

Klassen und Objekte (3) Zugriff auf Eigenschaften und Methoden: Name des Objekts, gefolgt von einem Punkt (.) und danach der Name der Eigenschaft oder der Methode Beispiele (aus Forms-Projekten): t1 = TagBox1.Text DifferenzBox.Text = diff Me.Close() REM das ist ein Methodenaufruf des Objekts Me Me verweist immer auf das Formular, dessen Programmcode gerade ausgeführt wird. Peter Sobe 69

Ziele der Objektorientierung (1) Es sollen kurz die Hauptziele angegeben werden, die objektorientierte Sprachen charakterisieren: Datenabstraktion: Definition und Verwendung anwendungsbezogener Datentypen und der auf ihnen möglichen Operationen (Methoden und Operatoren). Datenkapselung: Vereinbarung von Daten und zugeordneten Prozeduren (Methoden), die diese Daten verwalten, in einer Programmeinheit. Zugriffe auf Daten und die Benutzung der Methoden können über Zugriffsspezifizierer einschränkt werden. Oft sind die Datenelemente eines Objektes vollständig gekapselt (private) und für den Nutzer nicht einsehbar. Nur über die öffentlichen Methoden (public) kann der Nutzer das Objekt manipulieren. R. Grossmann / P. Sobe 70

Ziele der Objektorientierung (2) Trennung von Implementierung und Schnittstelle: Durch die Datenkapselung wird es möglich, dass der Programmierer Freiheiten bei der internen Realsisierung der Klassen hat. Er ist nur an die Schnittstelle und die äußere Wirkung der Methoden gebunden. Der Nutzer der Klasse benötigt in seinem Programm ausschließlich die Schnittstelle, die durch die Methoden bestimmt wird. Damit ist ein Anwendungsprogramm vollkommen unabhängig von konkreten internen Realisierungen der Klassen. R. Grossmann / P. Sobe 71

Ziele der Objektorientierung (3) Spezialisierung und Generalisierung (Vererbung): Durch das Prinzip der Spezialisierung wird es möglich, aus einer Basisklasse eine weitere Klassen abzuleiten, die viele Gemeinsamkeiten mit ersterer haben und nur in einigen Details abweichen. Eine abgeleitete Klasse erbt die Datenstruktur und vererbbare Elementfunktionen von der Basisklasse. Es müssen folglich nur die Abweichungen (Spezialisierung) neu programmiert werden. Das vermindert den Kodierungsaufwand, eliminiert mehrfachen ähnlichen Code und senkt die mögliche Fehlerquote. Polymorphismus: In Klassenhierarchien mit Vererbung kann dieselbe Methode für Objekte unterschiedlicher Typen unterschiedliche Aktionen auslösen. R. Grossmann / P. Sobe 72

Benutzerdefinierte Objekte (1) Benutzerdefinierte Objekte definieren: Public Class Fahrzeug Dim v, vmax, leermasse, nutzmasse As Integer Dim Bezeichnung As String Sub New (ByVal bez as String, ByVal vm as Integer, ByVal lm As Integer) Bezeichnung = bez vmax=vm leermasse = lm End Sub Function ausgabe() As String ausgabe = Bezeichnung + mit Geschwindigkeit: " + Format(v) End Function Beispiel angelehnt an: http://openbook.galileocomputing.de/einstieg_vb_2010 Peter Sobe 73

Benutzerdefinierte Objekte (2) Benutzerdefinierte Objekte definieren (Fortsetzung): Sub beschleunigen(byval wert As Integer) v= v + wert if v>xmax Then v=vmax End Sub Sub bremsen(byval wert As Integer) v = v - wert if v<0 Then v=0 End Sub End Class Beispiel angelehnt an: http://openbook.galileocomputing.de/einstieg_vb_2010 Peter Sobe 74

Benutzerdefinierte Objekte (3) Benutzerdefinierte Objekte instanziieren: Dim stadtrad,rennrad As fahrzeug stadtrad = New fahrzeug( Stadtrad, 30, 15) REM hier mal ein träges Fahrrad, mit vmax=30 Km/h und 15 Kg rennrad = new fahrzeug( Wettkampfrad, 55, 8) REM ein leichteres und schnelleres Rad Dim kleinwagen As New fahrzeug( Fiat Topolino,80, 650) REM Deklaration und Instanziierung in einem Schritt Peter Sobe 75

Benutzerdefinierte Objekte (4) Benutzerdefinierte Objekte benutzen: stadtrad.beschleunigen(10) rennrad.beschleunigen(25) stadtrad.bremsen(10) kleinwagen.beschleunigen(50) rennrad.beschleunigen(20) kleinwagen.bremsen(25) Am Ende sind Objekte freizugeben stadtrad = Nothing rennrad = Nothing Peter Sobe 76

Dateizugriff in Visual Basic 2010 Klasse StreamReader mit Methode ReadLine Imports System.IO Dim fs As FileStream Dim sr As StreamReader Dim dateiname As String = meinedatei.txt" Dim zeile As String If Not File.Exists(dateiname) Then MessageBox("Dateiexistiert nicht") Else fs = New FileStream(dateiname, FileMode.Open) sr = New StreamReader(fs) Do Until sr.peek() = 1 zeile = sr.readline() Textstring &= zeile & vbcrlf Loop sr.close() Peter Sobe 77

Dateizugriff in Visual Basic 2010 Klasse StreamReader mit Methode WriteLine Imports System.IO Dim fs As FileStream Dim sw As StreamWriter Dim dateiname As String = "C:\Tmp\aus.txt" Try fs = New FileStream( dateiname, FileMode.Create) sw = New StreamWriter(fs) sw.writeline(eingabetext) vorausgesetzt EingabeText wurde vorab vom Programm mit Inhalt versehen sw.close() Catch ex As Exception MessageBox(ex.Message) End Try Beispiele angelehnt an: Einstieg in Visual Basic 2010 von Thomas Theis, Galileo Computing Peter Sobe 78