Vortrag: Visual Basic 2008 - Neuerungen Autor : Dennis Hoyer

Slides:



Advertisements
Ähnliche Präsentationen
Präsentation PS: Klasse File von Janko Lange, Thomas Lung, Dennis Förster, Martin Hiller, Björn Schöbel.
Advertisements

Objektorientierte Programmierung
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Programmierung II Prof. Dr. Michael Löwe
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
Kapselung , toString , equals , Java API
Progwerkstatt JAVA Klasse, Objekte, Konstruktoren, Methoden
Objektorientierte Programmierung Definition von Klassen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 Claudio Moraga, Gisbert Dittrich FBI Unido
Programmieren mit JAVA
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
Zusammenfassung Vorwoche
Verkettete Liste Visualisierung. New-Operator Mit dem New-Operator kann zur Laufzeit (dynamisch) Speicherplatz reserviert und angelegt werden Vorteil:
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Packages Vortrag : Cornelia Hardt 23. November 1999.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Einführung in Java1 Einführung in JAVA.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Presenter: Daniel Walzenbach Technologieberater
MSDN Webcast: VB.NET für Einsteiger und Umsteiger, Teil 5 Noch mehr Klassen und Strukturen (Level 100) Presenter: Daniel Walzenbach Technologieberater.
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.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Objektorientierte Modellierung
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Ganzheitliches Projekt-, Ressourcen- und Qualitätsmanagement 1 Reports und AddOns Auf den folgenden Seiten wird Ihnen die Funktionsweise der Reports und.
Variablenkonzept Klassisch, in Java Basistyp
Die Klasse String und ihre Methoden
Variablen in Programmiersprachen
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
early binding (frühe Bindung) late binding (späte Bindung)
Parallele Programmierung im.NET Framework Darmstadt, Präsentation am Beispiel von C-Sharp (C#)  Wichtige Grundlagen  Generika, Delegate, Lambda,
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Mehrfachausführungen Schleifen in VB 2010 ee. Programmidee: Der Anwender gibt eine Zahl ein, und das Programm gibt die Mehrfachen dieser Zahl aus (das.
Berechenbarkeit Klaus Becker Berechenbarkeit.
Objektorientierte (OO) Programmierung
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Implementieren von Klassen
Statische und Nichtstatische Methoden Properties / Eigenschaften
 Präsentation transkript:

Vortrag: Visual Basic Neuerungen Autor : Dennis Hoyer

Die Einführung von Visual Studio war an Anfang Die neue Version der neuen IDE brachte zu dem Neuerungen in der Sprache VB mit sich. Diese sind unteranderem: Lambda Ausdrücke Erweiterung der Nullable Datentypen IF – Anweisung Erweiterungs – Methoden Anonyme Klassen Objektinitilaisierung Typen Angabe Einführung

Lambda Ausdrücke helfen beispielsweise bei der Übergabe von Delegaten oder relativ kleinen Funktionen. Folgendes Beispiel soll Ihnen den Vorgang von Früher(< VB2008) mit Heute (VB2008) verdeutlichen. Früher : Sub main() Dim a as integer = 1 Dim b as integer = 2 x = Rechne(a,b) Console.WriteLine(x) End Sub Function Rechne( a as integer, b as integer ) as integer Return a *b End Function Es müssen zwei Funktionen definiert werden. Lambda Ausdrücke – 1/2

Heute : Sub main() Dim rechnen Func(Of Integer, Integer)= _ Function(wert1 As Integer, wert2 As Integer) _ wert1 * wert Dim a As Integer = 1 Dim b As Integer = 2 Console.WriteLine(rechnen(a, b)) End Sub Die Definition des Delegaten ist innerhalb einer Zeile, sowie deren Codeschnipsel. Für relative kleine Funktionen muss somit kein unnötiger 5 Zeiler geschrieben werden. Lambda Ausdrücke – 2/2

Wer vom VB 2003 oder früher nach VS 2008 gewechselt ist, werden Nullable Daten- Typen nicht bekannt sein, daher ein kurzer Überblick. Bei Referenztypen ist jedem bekannt, dass diese NULL bzw. NOTHING sein können. Bei einem Wertetyp wie Integer war dies bisher nicht möglich, dies hat sich bereits mit VS 2005 geändert. Bei VS 2008 ist zusätzlich eine Vereinfachung der Definition integriert worden. Definition : - Langform Dim a As New System.Nullable(Of Integer) - Kurzform Dim a As Integer? = 11 Erweiterung der Nullable Datentypen

Wie bereits in c# integriert hat VB.net jetzt auch diese Erweiterung bekommen. If Anweisungen können zukünftig in einer Zeile formuliert Werden. Dim bMustekunde as boolean = _ If(w = Mustermann, True, False) If Anweisung

Die Erweiterungsmethoden sind ein Zusatz, die das LINQ mitbringt. LINQ benötigt diese Funktionalität um bereits bestehende nicht ableitbare Klassen zu erweitern. Damit ist das Geheimnis aber auch bereits gelüftet. Erweiterungsmethoden erlauben bestehende Klassen zu erweitern, obwohl von diesen keine Ableitung erzeugt werden kann. Hier ein Beispiel Public Module Global _ Public Function IsLastDayOfMonth(ByVal d As date) As Boolean Return d = ( _ new date(d.year,d.month,1).addmonth(1).addDay(-1)) End Function End Module Erweiterungs – Methoden – 1/2

Private Sub main Dim d as new date(2008,6,30) d.IsLastDayOfMonth End Sub Jede Instanz des Datentyps Date wurde erweitert um die Funktion IsLastDayOfMonth Erweiterungs – Methoden – 2/2

Eine anonyme Klasse erlaubt das Erstellen, sowie das Definieren einer Klasse innerhalb einer Codezeile. Vorteil liegt wiederum in der geringen Codeerstellung für den Softwareentwickler. Die Aufwendige Klassendefinition von früher lassen wir jetzt unnötiger Weise fallen, stattdessen zeige ich Ihnen die neue Möglichkeit. Dim pkw = New With {Key.Hersteller= Tiger Motors", _.PS = 119,.Schaltgetriebe = False} Wie zu erkennen, erfolgt die Definition der Properties innerhalb einer Codezeile. Im obigen Beispiel wurde kein Datentyp eingegeben, dies ist Wiederum eine Neuerung in VB.NET VB erkennt den Datentyp selbst. Anonyme Klassen

Die ist eine weitere Verienfachung für den Softwareentwickler. Wie beim vorher- gehenden wird Zeit beim Codieren ein gespart. Diese beiden Features sind auch im ungefähr gleichen Kontext zu sehen, den beim Objektinitialisieren geht es um eine verkürzte Initialisierung. Folgendes Beispiel zeigt es uns auf : Privat class Pkw Public Property Hersteller as string(…) Public Property PS as integer (…) Public Property Schaltgetriebe as boolean (…) End class Sub main() Dim auto As New Pkw With {.Hersteller= Tiger Motors",.PS = 119, _.Schaltgetriebe=True} End sub Im Gegensatz zur vorherigen Erweiterung muss hier die Klasse ausführlich Definiert werden. Allerdings wird das Objekt mit seinen Eigenschaften in einer Codezeile initialisiert. Objektinitialisierungen

Bitte bedenken Sie jedoch bei allen neuen Features von VB.net 2008, dass diese die Codeerstellung erweitern und ggf. beschleunigen, aber es trägt nicht immer zur Lesbarkeit und zum Verstehen des Codes bei. In einer Teamformation sollten Sie sich im vorhinein Gedanken zu diesen Themen machen und gemeinsam entscheiden ob Sie die Erweiterungen nutzen wollen. Ansonsten holt VB.net damit wieder ein wenig zu C# auf. Analyse