Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 5 Noch mehr Klassen und Strukturen (Level 100) Presenter: Daniel Walzenbach Technologieberater."—  Präsentation transkript:

1 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 daniel.walzenbach@microsoft.com http://blogs.msdn.com/walzenbach

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

3 Visual Studio 2005 Express Kleine Geschwister des Visual Studio 2005 Kostenlos http://www.microsoft.com/germany/msdn/v studio/products/express/vb/default.mspx http://www.microsoft.com/germany/msdn/v studio/products/express/vb/default.mspx Visual Basic 2005 Express Edition Visual C# 2005 Express Edition Visual C++ 2005 Express Edition Visual Web Developer 2005 Express Edition SQL Server 2005 Express Edition

4 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. 13.12.2006 an MsdnXmas@microsoft.com MsdnXmas@microsoft.com

5 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

6 Ü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

7 Demonstration #1 demo Übungsaufgabe, Teil 4

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

9 Heap Waldo Fiffi 5 5 Grundlagen Stack/Heap Was ist ein Stack 22.83 123.14324 6.0 90 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

10 Demonstration #2 demo Demo Werte- und Referenztypen

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

12 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

13 Demonstration #3 demo Parameterübergabe mit ByVal und ByRef

14 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.

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

16 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

17 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

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

19 Demonstration #4 demoVererbung

20 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

21 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

22 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, …

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

24 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

25 Demonstration #6 demoOperatorüberladung

26 Kernkonzepte der OOP KlassenObjektMethodeEreignisseVererbungKapselungAbstraktionPolymorphie

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

28 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

29 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

30 Demonstration #7 demoStrukturen

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

32 Ü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 < 99999 )

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

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

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

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

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

38 Questions and Answers Daniel Walzenbach daniel.walzenbach@microsoft.com http://blogs.msdn.com/walzenbach

39


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

Ähnliche Präsentationen


Google-Anzeigen