MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 5 Noch mehr Klassen und Strukturen (Level 100) Presenter: Daniel Walzenbach Technologieberater.

Slides:



Advertisements
Ähnliche Präsentationen
C Sharp (C#) Martin Saternus Senior Student Partner
Advertisements

Ziele von EINI I + II Einführen in „Informatik“
Objektorientierte Programmierung
Konzepte objektorientierter Systeme
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Kritische Betrachtung
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
Kapselung , toString , equals , Java API
Abstrakte Klassen HS Merseburg (FH) WS 06/07.
FH-Hof Einbindung von JavaScript Anweisungen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Konstruktoren.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Programmieren mit JAVA
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
DVG Klassen und Objekte
Wizards & Builders GmbH Einführung in die objektorientierte Programmierung Norbert Abb.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
Presenter: Daniel Walzenbach Technologieberater
Presenter: Daniel Walzenbach Technologieberater
MSDN Webcast: VB. NET für Einsteiger und Umsteiger Einführung in VB
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 7 Strukturierte Ausnahmebehandlung (Level 100) Presenter: Daniel Walzenbach Technologieberater.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 10 Die erste, eigene Klassenbibliothek (Level 100) Presenter: Daniel Walzenbach Technologieberater.
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 2 Datentypen, Variablen, Namensräume, Ausdrücke und Operatoren (Level 100) Presenter: Daniel.
Presenter: Daniel Walzenbach Technologieberater
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 9 Zeichenketten, Delegates und Events (Level 100) Presenter: Daniel Walzenbach Technologieberater.
objekt-relationale Datenbanken
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
SQL Server 2005 CLR-Integration
Objektorientiertes Programmieren
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Variablenkonzept Klassisch, in Java Basistyp
Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer
Objektorientierte Programmierung
EPROG Tutorium #4 Philipp Effenberger
EPROG Tutorium #6 Philipp Effenberger
EPROG Tutorium #5 Philipp Effenberger
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 5. Übung Besprechung der Übungsaufgabe Klassen und Objekte
Abstrakte Klassen und das Interface-Konzept
Objektorientierte Programmierung (OOP)
Microsoft Student Partner
Objektorientierte (OO) Programmierung
Vererbung. Klassen - Vererbung  Eine Klasse kann von einer Basisklasse abgeleitet werden  Die abgeleitete Klasse erbt die Eigenschaften und Methoden.
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
C++ FÜR cOMPUTERSPIELENTWICKLER
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
OOP II.
Definition Felder Konstruktor Methoden Beispiel
Implementieren von Klassen
Polymorphie Überschreiben
 Präsentation transkript:

MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 5 Noch mehr Klassen und Strukturen (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft Deutschland GmbH

Verlosung Programmieren lernen mit Visual Basic Bücher werden unter allen Teil- nehmern verlost, die an mindes- tens sieben Webcasts teilnehmen

Visual Studio 2005 Express Kleine Geschwister des Visual Studio 2005 Kostenlos studio/products/express/vb/default.mspx studio/products/express/vb/default.mspx Visual Basic 2005 Express Edition Visual C# 2005 Express Edition Visual C Express Edition Visual Web Developer 2005 Express Edition SQL Server 2005 Express Edition

Weihnachtswebcast – Frage 2 Was ist Orion? Ein Sternbild am Himmel Position 5 ein O Position 5 ein O Ein C#-Befehl Position 1 ein D Position 1 ein D Ein VB-Befehl Position 2 ein Q Position 2 ein Q Ein Raumschiff aus einer SciFi-Fernsehserie Position 5 ein O Position 5 ein O Lösungswort bis einschl an

Agenda Übungsaufgabe Teil 4 Grundlagen Stack/Heap Klassen Parameterübergabe steuern (ByVal, ByRef) Vererbung Hierarchien von Klassen Überladen von Operatoren Kernkonzepte der OOP StrukturenÜbungsaufgabeZusammenfassung

Übungsaufgabe, Teil 4 Programmieren Sie eine Klasse Rechteck In der Klasse werden Breite und Höhe des Rechtecks festgehalten (als Integer) Schreiben Sie mehrere Konstruktoren Leeres Rechteck initialisieren Quadrat initialisieren Rechteck mit Breite und Höhe initialisieren Schreiben Sie Properties für Breite und Höhe Schreiben Sie eine Methode Zeichnen welche das Rechteck mit Console.WriteLine() darstellt

Demonstration #1 demo Übungsaufgabe, Teil 4

Agenda Übungsaufgabe Teil 4 Grundlagen Stack/Heap Parameterübergabe steuern (ByVal, ByRef) KlassenVererbung Hierarchien von Klassen Überladen von Operatoren Kernkonzepte der OOP StrukturenÜbungsaufgabeZusammenfassung

Heap Waldo Fiffi 5 5 Grundlagen Stack/Heap Was ist ein Stack Stackanfang Stackende Stackzeiger (Stack Pointer) Hier wird der nächste Wert eingetragen, danach wird der Stackzeiger erhöht Hund: Fiffi Dim Fiffi As New Hund Fiffi.Name = "Fiffi" Dim i As Integer = 5 Dim j As Integer = i 3.14 Dim Waldo As Hund Waldo = Fiffi Referenz auf Fiffi

Demonstration #2 demo Demo Werte- und Referenztypen

Agenda Übungsaufgabe Teil 4 Grundlagen Stack/Heap Parameterübergabe steuern (ByVal, ByRef) KlassenVererbung Hierarchien von Klassen Überladen von Operatoren Kernkonzepte der OOP StrukturenÜbungsaufgabeZusammenfassung

Parameterübergabe steuern Was passiert, wenn einer Methode ein Wert übergeben wird und dieser in der Methode geändert wird? Ändert sich der Wert auch in der aufrufenden Methode? Sub Main() Dim meinWert As Integer = 5 WertErhoehen(meinWert) Console.WriteLine(meinWert)' i = 6 ???? End Sub Sub WertErhoehen(ByVal Wert As Integer) Wert = Wert + 1 End Sub

Demonstration #3 demo Parameterübergabe mit ByVal und ByRef

Parameterübergabe steuern Zusammenfassung TypÜbergabe ByValÜbergabe ByRef Wertetyp (beinhaltet einen Wert) Methode kann weder die Variable noch Feldvariablen ändern. Methode kann die Variable und Feldvariablen ändern. Referenztyp (beinhaltet eine Referenz auf eine Instanz einer Klasse oder Struktur) Methode kann die Variable nicht, jedoch Feldvariablen der Instanz welche die Variable referenziert, ändern. Methode kann die Variable, sowie Feldvariablen der Instanz welche die Variable referenziert, ändern.

Agenda Übungsaufgabe Teil 4 Grundlagen Stack/Heap Parameterübergabe steuern (ByVal, ByRef) KlassenVererbung Hierarchien von Klassen Überladen von Operatoren Kernkonzepte der OOP StrukturenÜbungsaufgabeZusammenfassung

Klassen - Vererbung Manchmal ist es sinnvoll, eine neue Klasse von einer bereits existierenden Klasse abzuleiten… … wenn diese abgeleitete Klasse eine Sonderform der abgeleiteten Klasse ist Die abgeleitete Klasse erbt die Eigenschaften der Basisklasse Vererbung als ist ein(e)-Beziehung Basisklasse aller.NET-Klassen ist System.Object

Klassen - Vererbung Die neue, abgeleitete (spezielle) Klasse, erbt alle öffentlichen ( Public und Protected ) Fähigkeiten der Basisklasse Öffentliche Methoden Öffentliche Eigenschaften Öffentliche Konstruktoren Öffentliche Felder Alle privaten Elemente bleiben verborgen Protected - Zugriff nur von der eigenen oder abgeleiteten Klassen möglich

Klassen - Vererbung Beispiel für Vererbung (Klassenhierarchie) TierAmphibieVogelFischSäugetierHundCollie Golden Retriever LabradorKatzeReptil Spezialisierung nimmt zu

Demonstration #4 demoVererbung

Methoden überschreiben Methoden, die in der Basisklasse mit Overridable implementiert sind, können in der abgeleiteten Klasse mit Overrides überschrieben werden Schlüsselwort Overrides verwenden Das Verhalten der abgeleiteten Klasse kann so gegenüber der Basisklasse geändert werden

Abstrakte Klassen u. virtuelle Methoden Abstrakte Klassen sind Vorlagen für andere Klassen Zwingen den Entwickler, in der abgeleiteten Klasse die vorhandenen Methoden zu implementieren Public MustInherit Class Tier Protected MustOverride Sub Atmen() End Class Public Class Hund Inherits Tier Public Name As String Protected Overrides Sub Atmen() ' hier muss implementiert werden ' wie der Hund atmet End Sub End Class

Versiegelte Klassen Klassen können versiegelt werden um ein weiteres Ableiten von der Basisklasse zu verhindern Schlüsselwort: NotInheritable Vorsichtiger Umgang mit NotInheritable Im.NET-Framework sind einige Klassen versiegelt System.String, System.Console, System.Text.StringBuilder, …

Demonstration #5 demo Methoden überschreiben, abstrakte Klassen, virtuelle Methoden, versiegelte Typen

Operatorenüberladung Auch Operatorenprozeduren genannt Werden ausschließlich als statische Funktionen implementiert Public Shared Operator +(ByVal Zahl1 As Zahl, ByVal Zahl2 As Zahl) As Zahl Dim Ergebnis As New Zahl Ergebnis.Zahl = Zahl1.Zahl + Zahl2.Zahl Return Ergebnis End Operator

Demonstration #6 demoOperatorüberladung

Kernkonzepte der OOP KlassenObjektMethodeEreignisseVererbungKapselungAbstraktionPolymorphie

Agenda Übungsaufgabe Teil 4 Grundlagen Stack/Heap Parameterübergabe steuern (ByVal, ByRef) KlassenVererbung Hierarchien von Klassen Überladen von Operatoren Kernkonzepte der OOP StrukturenÜbungsaufgabeZusammenfassung

Strukturen Übersicht Strukturen definieren einen zusammengesetzten Datentyp haben ähnliche Eigenschaften wie Klassen Strukturen – statt Klassen – sollten für Instanzen eines Typs verwendet werden, die klein und kurzlebig sind und/oder häufig in anderen Objekten eingebettet werden Von einer Struktur kann NICHT abgeleitet werden Eine Struktur kann nicht von einer Basis abgeleitet werden

Strukturen Gemeinsamkeiten Beide sind Container Typen Beide können Konstruktoren, Methoden, Properties, Felder, … implementieren Unterschiede Klassen sind Referenztypen, Strukturen Wertetypen Strukturen dürfen nicht leer sein Strukturen sind nicht vererbbar Strukturen benötigen keinen Konstruktor

Demonstration #7 demoStrukturen

Agenda Übungsaufgabe Teil 4 Grundlagen Stack/Heap Parameterübergabe steuern (ByVal, ByRef) KlassenVererbung Hierarchien von Klassen Überladen von Operatoren Kernkonzepte der OOP StrukturenÜbungsaufgabeZusammenfassung

Übungsaufgabe Schreiben Sie eine Klasse, die alle Daten einer Person verwaltet Name, Vorname, PLZ, Ort, Straße, Telefon Überschreiben Sie die Methode ToString für die Ausgabe der Daten Implementieren Sie Eigenschaften zum Setzen der Daten Implementieren Sie eine einfache Prüfroutine für die PLZ ( PLZ > 0 und PLZ 0 und PLZ < )

Agenda Übungsaufgabe Teil 4 Grundlagen Stack/Heap Parameterübergabe steuern (ByVal, ByRef) KlassenVererbung Hierarchien von Klassen Überladen von Operatoren Kernkonzepte der OOP StrukturenÜbungsaufgabeZusammenfassung

Zusammenfassung Parameterübergabe ( ByVal, ByRef ) Weitere Features von Klassen kennengelernt Vererbung Überschreiben von Methoden Abstrakte Klassen Versiegelte Klassen Strukturen als leichtgewichtige, zusammengesetzte Datentypen (Wertetypen)

Nächste Termine VB.NET für Einsteiger und Umsteiger, Teil 6 Interfaces Montag, :00-17:00 Uhr VB.NET für Einsteiger und Umsteiger, Teil 7 Strukturierte Ausnahmebehandlung Montag, :00-17:00 Uhr VB.NET für Einsteiger und Umsteiger, Teil 8 Arrays Montag, :00-17:00 Uhr

Referenzen & Downloads Objektorientiertes Programmieren in Visual Basic de/library/b86b82w0(VS.80).aspx de/library/b86b82w0(VS.80).aspxClass-Anweisung de/library/wa0hwf23(VS.80).aspx de/library/wa0hwf23(VS.80).aspxStructure-Anweisung de/library/k69kzbs1(VS.80).aspx de/library/k69kzbs1(VS.80).aspx Vererbung in Visual Basic de/library/5x4yd9d5(VS.80).aspx de/library/5x4yd9d5(VS.80).aspx

Referenzen & Downloads Behandeln und Auslösen von Ereignissen de/library/edzehd2t(VS.80).aspx de/library/edzehd2t(VS.80).aspx Argument Passing ByVal and ByRef us/library/ddck1z30(VS.71).aspx us/library/ddck1z30(VS.71).aspx Microsoft Visual Basic Das Entwicklerbuch buchversand.de/mspress/product.asp?cnt=product&id= ms-537&lng=0 buchversand.de/mspress/product.asp?cnt=product&id= ms-537&lng=0 MSDN Solve, Antworten für Entwickler

Questions and Answers Daniel Walzenbach