Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Dietrich Kebler Geändert vor über 10 Jahren
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.