29
MSDN Webcast: MSDN Webcast: VB.NET für Einsteiger und VB.NET für Einsteiger und Umsteiger, Teil 6 Umsteiger, Teil 6 Schnittstellen (Interfaces) Schnittstellen (Interfaces) (Level 100) (Level 100) Presenter: Daniel Presenter: Daniel Walzenbach Walzenbach Technologieberater Technologieberater Microsoft Deutschland GmbH Microsoft Deutschland GmbH [email protected] http://blogs.msdn.com/walzenbach

MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Embed Size (px)

Citation preview

Page 1: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

MSDN Webcast:MSDN Webcast:

VB.NET für Einsteiger und Umsteiger, VB.NET für Einsteiger und Umsteiger, Teil 6Teil 6Schnittstellen (Interfaces)Schnittstellen (Interfaces)(Level 100)(Level 100)

Presenter: Daniel WalzenbachPresenter: Daniel Walzenbach

TechnologieberaterTechnologieberaterMicrosoft Deutschland GmbHMicrosoft Deutschland [email protected]://blogs.msdn.com/walzenbach

Page 2: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

VerlosungVerlosung

Programmieren lernen mit Programmieren lernen mit Visual Basic 2005Visual Basic 2005

10 Bücher 10 Bücher werden unter allen Teil-werden unter allen Teil-nehmern verlost, die an nehmern verlost, die an mindes-mindes-tens sieben Webcasts teilnehmentens sieben Webcasts teilnehmen

Page 3: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Visual Studio 2005 Visual Studio 2005 ExpressExpressKleine Geschwister des Visual Studio Kleine Geschwister des Visual Studio 20052005

KostenlosKostenlos

http://www.microsoft.com/germany/msdn/vstudio/products/express/vb/default.mspx

Visual Basic 2005 Express EditionVisual Basic 2005 Express Edition

Visual C# 2005 Express EditionVisual C# 2005 Express Edition

Visual C++ 2005 Express EditionVisual C++ 2005 Express Edition

Visual Web Developer 2005 Express Visual Web Developer 2005 Express EditionEdition

SQL Server 2005 Express EditionSQL Server 2005 Express Edition

Page 4: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Weihnachtswebcast - Weihnachtswebcast - Frage 8Frage 8

In welchen Jahr wurde Microsoft In welchen Jahr wurde Microsoft gegründet?gegründet?

1995 1995 Position 1 ein C Position 1 ein C

1830 1830 Position 13 ein S Position 13 ein S

Kurz bevor Windows kam Kurz bevor Windows kam Position 10 Position 10 ein Lein L

1975 1975 Position 2 und 10 ein I Position 2 und 10 ein I

Lösungswort bis einschl. 13.12.2006 Lösungswort bis einschl. 13.12.2006 an an [email protected]

Page 5: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

AgendaAgenda

Übungsaufgabe Teil 5Übungsaufgabe Teil 5

Kombinierte FormatierungKombinierte Formatierung

SchnittstellenSchnittstellen

ÜbungsaufgabeÜbungsaufgabe

ZusammenfassungZusammenfassung

Page 6: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Übungsaufgabe, Teil 5Übungsaufgabe, Teil 5

Schreiben Sie eine Klasse, die alle Schreiben Sie eine Klasse, die alle Daten einer Person verwaltetDaten einer Person verwaltet

Name, Vorname, PLZ, Ort, Straße, Name, Vorname, PLZ, Ort, Straße, TelefonTelefon

Überschreiben Sie die Methode Überschreiben Sie die Methode ToStringToString für die Ausgabe der Daten für die Ausgabe der Daten

Implementieren Sie Eigenschaften Implementieren Sie Eigenschaften zum Setzen der Datenzum Setzen der Daten

Implementieren Sie eine einfache Implementieren Sie eine einfache Prüfroutine für die PLZ (Prüfroutine für die PLZ (PLZ > 0PLZ > 0 und und PLZ < 99999PLZ < 99999))

Page 7: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Demonstration #1Demonstration #1

demodemo

Übungsaufgabe, Teil 5Übungsaufgabe, Teil 5

Page 8: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

AgendaAgenda

Übungsaufgabe Teil 5Übungsaufgabe Teil 5

Kombinierte FormatierungKombinierte Formatierung

SchnittstellenSchnittstellen

ÜbungsaufgabeÜbungsaufgabe

ZusammenfassungZusammenfassung

Page 9: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Kombinierte FormatierungKombinierte Formatierung

Werte in einem Text mit Platzhaltern Werte in einem Text mit Platzhaltern einbetteneinbetten

Alle Formatelemente (nullbasierend) Alle Formatelemente (nullbasierend) weisen folgende Form auf:weisen folgende Form auf:

Mehrere Formatelemente können auf Mehrere Formatelemente können auf dasselbe Element in der Werteliste dasselbe Element in der Werteliste verweisenverweisen

Jedes Formatelement kann auf einen Jedes Formatelement kann auf einen beliebigen Parameter verweisenbeliebigen Parameter verweisen

{Index[,Ausrichtung][:Formatzeichenfolge]}

Dim Name As String = "Daniel"Console.WriteLine("Hallo {0}!", Name)

Page 10: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Kombinierte FormatierungKombinierte Formatierung

Ausrichtung [optional]Ausrichtung [optional]Gibt die gewünschte formatierte Gibt die gewünschte formatierte Feldbreite anFeldbreite an

Ist die Ausrichtung kleiner als die Länge Ist die Ausrichtung kleiner als die Länge der formatierten Zeichenfolge, wird diese der formatierten Zeichenfolge, wird diese ignoriert, ansonsten mit Leerzeichen ignoriert, ansonsten mit Leerzeichen aufgefülltaufgefüllt

Positiver Wert Positiver Wert rechtsbündige rechtsbündige AusrichtungAusrichtung

Negativer Wert Negativer Wert linksbündige linksbündige AusrichtungAusrichtung

{Index[,Ausrichtung][:Formatzeichenfolge]}

Dim Name As String = "Daniel"Console.WriteLine("Hallo {0,10}!", Name) ' Hallo Daniel!

10 Zeichen

Page 11: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Kombinierte FormatierungKombinierte Formatierung

Formatzeichenfolge [optional]Formatzeichenfolge [optional]StandardformatbezeichnernStandardformatbezeichnern

benutzerdefinierten Formatbezeichnernbenutzerdefinierten Formatbezeichnern

Doppelpunkt ist erforderlichDoppelpunkt ist erforderlich

Ausrichtung und Formatzeichenfolgen Ausrichtung und Formatzeichenfolgen können kombiniert werden können kombiniert werden

{Index[,Ausrichtung][:Formatzeichenfolge]}

Console.WriteLine("{0:X} ~ {0:E} ~ {0:N} ~ {0:C}", 255)' FF ~ 2,550000E+002 ~ 255,00 ~ 255,00 €

Dim myDouble As Double = System.Math.PImyDouble = String.Format("**{0,10:##.###}**", myDouble)' ** 3,142**

10 Zeichen

Page 12: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Demonstration #2Demonstration #2

demodemo

Kombinierte Formatierung Kombinierte Formatierung

Page 13: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

AgendaAgenda

Übungsaufgabe Teil 5Übungsaufgabe Teil 5

Kombinierte FormatierungKombinierte Formatierung

SchnittstellenSchnittstellen

ÜbungsaufgabeÜbungsaufgabe

ZusammenfassungZusammenfassung

Page 14: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

SchnittstellenSchnittstellen

Was sind Schnittstellen (= Was sind Schnittstellen (= Interfaces)?Interfaces)?

Schnittstellen definieren Schnittstellen definieren „Verhaltensweisen“„Verhaltensweisen“

Eine Schnittstelle ist ein Vertrag zwischen Eine Schnittstelle ist ein Vertrag zwischen getrennten Codeteilengetrennten Codeteilen

Wenn eine Klasse eine Schnittstelle Wenn eine Klasse eine Schnittstelle benutzt (implementiert) ist sichergestellt, benutzt (implementiert) ist sichergestellt, dass die Klasse ALLE Methoden, dass die Klasse ALLE Methoden, Eigenschaften, … der Schnittstelle Eigenschaften, … der Schnittstelle implementiert!implementiert!

Die Schnittstelle darf nach der Die Schnittstelle darf nach der Veröffentlichung Veröffentlichung NICHTNICHT mehr mehr geändert werden!geändert werden!

Page 15: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

SchnittstellenSchnittstellen

Deklaration wie Klassen jedoch mit Deklaration wie Klassen jedoch mit leerenleeren Methoden, Eigenschaften, … Methoden, Eigenschaften, …

Public Interface ITier Sub Spielen()End Interface Public Class Hund Implements ITier  Public Sub Spielen() Implements ITier.Spielen Console.WriteLine("Hund spielt.") End SubEnd Class Public Class Katze Implements ITier  Public Sub Spielen() Implements ITier.Spielen Console.WriteLine("Katze spielt.") End SubEnd Class

Page 16: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Demonstration #3Demonstration #3

demodemo

SchnittstellenSchnittstellen

Page 17: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

SchnittstellenSchnittstellen

Die Klasse, welche die Schnittstelle Die Klasse, welche die Schnittstelle implementieren soll, wird von der implementieren soll, wird von der Schnittstelle „abgeleitet“Schnittstelle „abgeleitet“

Durch das Implementieren einer Durch das Implementieren einer Schnittstelle ist sichergestellt, dass Schnittstelle ist sichergestellt, dass die Klasse alle Methoden, die Klasse alle Methoden, Eigenschaften, etc. der Schnittstelle Eigenschaften, etc. der Schnittstelle implementiertimplementiert

Ansonsten wirft der Compiler einen Ansonsten wirft der Compiler einen Fehler Fehler

Die Schnittstelle darf nach der Die Schnittstelle darf nach der Veröffentlichung Veröffentlichung NICHTNICHT mehr mehr geändert werden!geändert werden!

Page 18: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Schnittstellen als Schnittstellen als ParameterParameterBei Schnittstellen handelt es sich um Bei Schnittstellen handelt es sich um vollwertige Typenvollwertige Typen

Können auch Können auch für die für die Deklaration Deklaration einer Variablen einer Variablen oder als oder als Parameter einer Parameter einer Prozedur Prozedur verwendet verwendet werdenwerden

Module Module1  Sub Main() Dim Hasso As New Hund TierSpielenLassen(Hasso) End Sub

Public Sub TierSpielenLassen(ByVal Tier As ITier) Tier.Spielen() End Sub

End Module

Public Interface ITier Sub Spielen()End Interface Public Class Hund Implements ITier ' Implementierung von Hund End Class

Page 19: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Demonstration #4Demonstration #4

demodemo

Schnittstellen als ParameterSchnittstellen als Parameter

Page 20: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Schnittstellen vs. Abstrakte Schnittstellen vs. Abstrakte KlassenKlassen

Schnittstellen enthalten ausschließlich Schnittstellen enthalten ausschließlich Definitionen, abstrakte Basisklassen Definitionen, abstrakte Basisklassen können einen Mix aus Definitionen können einen Mix aus Definitionen und gemeinsamen Funktionscode und gemeinsamen Funktionscode enthaltenenthalten

Eine Klasse kann mehrere Eine Klasse kann mehrere Schnittstellen implementieren aber Schnittstellen implementieren aber nur von einer Klasse erben.nur von einer Klasse erben.

Eine Schnittstelle kann von beliebig Eine Schnittstelle kann von beliebig vielen anderen Schnittstellen erbenvielen anderen Schnittstellen erben

Page 21: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

AgendaAgenda

Übungsaufgabe Teil 5Übungsaufgabe Teil 5

Kombinierte FormatierungKombinierte Formatierung

SchnittstellenSchnittstellen

ÜbungsaufgabeÜbungsaufgabe

ZusammenfassungZusammenfassung

Page 22: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

ÜbungsaufgabeÜbungsaufgabe

Schreiben Sie die zwei Klassen Schreiben Sie die zwei Klassen Amateurspieler und ProfispielerAmateurspieler und Profispieler

Beide Klassen sollen ein Interface Beide Klassen sollen ein Interface ISpielerISpieler implementieren implementieren

Property SpielerNameProperty SpielerName

Property PositionProperty Position

Methode TorschiessenMethode Torschiessen

Schreiben Sie Schreiben Sie eineeine Methode welche Methode welche die Namen, Position und die Namen, Position und geschossenen Tooooore der Spieler geschossenen Tooooore der Spieler ausgibtausgibt

Page 23: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

AgendaAgenda

Übungsaufgabe Teil 5Übungsaufgabe Teil 5

Kombinierte FormatierungKombinierte Formatierung

SchnittstellenSchnittstellen

ÜbungsaufgabeÜbungsaufgabe

ZusammenfassungZusammenfassung

Page 24: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

ZusammenfassungZusammenfassung

Kombinierte FormatierungKombinierte Formatierung{Index[,Ausrichtung][:Formatzeichenfolge]}{Index[,Ausrichtung][:Formatzeichenfolge]}

InterfacesInterfacesVertrag zwischen getrennten CodeteilenVertrag zwischen getrennten Codeteilen

Stellen sicher, dass die enthaltenen Stellen sicher, dass die enthaltenen Methoden, Properties, … in der Klasse, Methoden, Properties, … in der Klasse, die das Interface implementiert, die das Interface implementiert, enthalten sindenthalten sind

Die Schnittstelle darf nach der Die Schnittstelle darf nach der Veröffentlichung NICHT mehr Veröffentlichung NICHT mehr geändert werden!geändert werden!

Page 25: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Nächste TermineNächste Termine

VB.NET für Einsteiger und Umsteiger, Teil 7VB.NET für Einsteiger und Umsteiger, Teil 7Strukturierte Ausnahmebehandlung Strukturierte Ausnahmebehandlung

Montag, 11.12.2006 16:00-17:00 UhrMontag, 11.12.2006 16:00-17:00 Uhr

VB.NET für Einsteiger und Umsteiger, Teil 8VB.NET für Einsteiger und Umsteiger, Teil 8ArraysArrays

Montag, 18.12.2006 16:00-17:00 UhrMontag, 18.12.2006 16:00-17:00 Uhr

Page 26: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Referenzen & DownloadsReferenzen & Downloads

Objektorientiertes Programmieren in Visual Objektorientiertes Programmieren in Visual BasicBasic

http://msdn2.microsoft.com/de-de/library/b86b82w0(VS.80).aspx

Class-Anweisung Class-Anweisung http://msdn2.microsoft.com/de-de/library/wa0hwf23(VS.80).aspx

Vererbung in Visual BasicVererbung in Visual Basichttp://msdn2.microsoft.com/de-de/library/5x4yd9d5(VS.80).aspx

Schnittstellen in Visual BasicSchnittstellen in Visual Basichttp://msdn2.microsoft.com/de-de/library/28e2e18x(VS.80).aspx

Page 27: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Referenzen & DownloadsReferenzen & Downloads

Formatierung von TypenFormatierung von Typenhttp://msdn2.microsoft.com/de-de/library/fbxft59x(VS.80).aspx

Kombinierte FormatierungKombinierte Formatierunghttp://msdn2.microsoft.com/de-de/library/http://msdn2.microsoft.com/de-de/library/txafckwd(VS.80).aspxtxafckwd(VS.80).aspx

Microsoft Visual Basic 2005 - Das Microsoft Visual Basic 2005 - Das EntwicklerbuchEntwicklerbuch

http://www.edv-buchversand.de/mspress/http://www.edv-buchversand.de/mspress/product.asp?cnt=product&id=ms-537&lng=0product.asp?cnt=product&id=ms-537&lng=0

MSDN Solve, Antworten für EntwicklerMSDN Solve, Antworten für Entwicklerhttp://msdn-solve.de/http://msdn-solve.de/

Page 28: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft

Questions and AnswersQuestions and Answers

Daniel [email protected] http://blogs.msdn.com/walzenbach

Page 29: MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 6 Schnittstellen (Interfaces) (Level 100) Presenter: Daniel Walzenbach Technologieberater Microsoft