Visual basic net preview
This presentation is the property of its rightful owner.
Sponsored Links
1 / 48

Visual Basic.NET Preview PowerPoint PPT Presentation


  • 53 Views
  • Uploaded on
  • Presentation posted in: General

Visual Basic.NET Preview. David Stevenson Consulting Software Engineer, ABB [email protected] How to Get Visual Basic.NET. Requires Windows 2000, IE 5.5 (helpful to install IIS 5 on Win2K Pro) NET Overview: msdn.microsoft.com/net

Download Presentation

Visual Basic.NET Preview

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Visual basic net preview

Visual Basic.NET Preview

David StevensonConsulting Software Engineer, [email protected]


How to get visual basic net

How to Get Visual Basic.NET

  • Requires Windows 2000, IE 5.5 (helpful to install IIS 5 on Win2K Pro)

  • NET Overview: msdn.microsoft.com/net

  • Download NET: http://msdn.microsoft.com/downloads/default.asp?URL=/code/sample.asp?url=/msdn-files/027/000/976/msdncompositedoc.xml


Visual basic net goals

Visual Basic.NET Goals

  • Rapid Application Development of Enterprise Web Applications

  • Language Interoperability

  • Improved Object Oriented Features


Modern language features

Modern Language Features

  • Free Threading

  • Structured Exception Handling

  • Type Safety

  • Shared Members

  • Initializers


Object oriented features

Object Oriented Features

  • Inheritance

  • Encapsulation

  • Overloading

  • Polymorphism

  • Parameterized Constructors


Disclaimer

Disclaimer

  • Syntax subject to change in released product.

  • Most of the following is a summary of Microsoft’s article: Visual Studio Enables the Programmable Web. Examples may be changed slightly.


Oop inheritance

OOP: Inheritance

  • Ability to reuse code via Inherits keyword.

  • Derived class inherits all methods and properties of the base class.

  • Derived class can override methods defined in the base class using the Overrides keyword.

  • The derived class can extend the base class by adding new methods and properties.


Inheritance example

Inheritance Example

Public Class MyBaseClass

Function GetCustomer ()

Console.WriteLine ( "MyBaseClass.GetCustomer" )

End Function

End Class

Public Class MyDerivedClass : Inherits MyBaseClass

Function GetOrders ()

...

End Function

End Class

Public Module modmain

Sub Main()

Dim d As MyDerivedClass

d.GetOrders ()

End Sub

End Module


Overrides example

Overrides Example

Class MyVeryDerivedClass

Inherits MyDerivedClass

Overrides Function GetOrders ( )


Oop encapsulation

OOP: Encapsulation

  • New Protected keyword.

  • Hides properties/methods except for derived classes.

    Protected cName as string

    Protected Function ChangeName ( NewName )

    Me.cName = NewName

    End Function


Oop overloading

OOP: Overloading

  • VB6: Overloading via Implicit Auto-Conversion was potentially dangerous.

  • VB.NET: Creating two or more functions with the same name, but with different function signatures (parameters).

  • Overloaded functions can process data differently.


Overloading example

Overloading Example

Overloads Sub Display ( theChar As Char )

Overloads Sub Display ( theInteger As Integer )

Overloads Sub Display ( theString As String )


Oop polymorphism

OOP: Polymorphism

  • Ability to process an object differently depending on its data type or class.

  • Ability to redefine methods for derived classes.


Polymorphism example

Polymorphism Example

Class Employee

Overridable Function PayEmployee () As Decimal

PayEmployee = Hours * HourlyRate

End Function

End Class

Class CommissionedEmployee

Inherits Employee

Overrides Function PayEmployee ( ) As Decimal

PayEmployee = BasePay + Commissions

End Function

End Class


Oop parameterized constructors

OOP: Parameterized Constructors

  • VB6: Unparameterized Class_Initialize

  • VB.NET: Allows the creation of a new instance of a class while passing arguments for initializing the data of the new class.

  • VB.NET: Simultaneous creation and initialization of an object instance.


Oop parameterized constructors1

OOP: Parameterized Constructors

Public Class Test

Private i as Integer

Overloads Public Sub New()

MyBase.New

i = 321

End Sub

Overloads Public Sub New ( ByVal par as Integer )

MyClass.New()

i = Par

End Sub

End Class


Interfaces

Interfaces

  • Abstract classes without implementation.

  • Can inherit from other interfaces.

  • Concrete classes can singly inherit, but have multiple interface implementations.


Interface example part 1

Interface Example Part 1

Public Interface IDog

Function Barks ( ByVal strBark As String )

End Interface

Public Interface IDog2 : Inherits IDog

Function Bites ( ByVal intNumBites As Integer )

End Interface


Interface example part 2

Interface Example Part 2

Public Class Dogs

Implements IDog

Implements IDog2

Public Function Bites ( ByVal intNumBites As Integer ) _

Implements IDog2.Bites

Console.WriteLine ( "is worse than {0} bites.", intNumBites )

End Function

Public Function Barks ( ByVal strBark As String ) _

Implements IDog.Barks

Console.Write ( "A Dog's bark {0} ", strBark )

End Function

End Class


Free threading

Free Threading

  • Concurrent processing improves scalability.

  • Can start a thread and run asynchronously.


Free threading example

Free Threading Example

Sub CreateMyThread ( )

Dim b As BackGroundWork

Dim t As Thread

Dim b = New BackGroundWork ()

Set t = New Thread ( New ThreadStart ( AddressOf b.DoIt )

End Sub

Class BackGroundWork

Sub DoIt ( )

End Sub

End Class


Structured exception handling

Structured Exception Handling

  • VB6: On Error Goto

    • Problem: Goto Error Handling routine, Goto Central Error Processing Routine, Exit out of procedure.

  • VB.NET: Try… Catch… Finally


Structured exception handling example

Structured Exception Handling Example

Sub SEH ( )

Try

Open “TESTFILE” For Output As #1

Write #1, CustomerInformation

Catch

Kill “TESTFILE”

Finally

Close #1

End try


Try catch finally syntax

Try, Catch, Finally Syntax

Try

tryStatements

Catch exception1 [ As type ] [ When expression ]

catchStatements

[ Exit Try ]

Catch exception2 [ As type ] [ When expression ]

catchStatements

[ Exit Try ]

Finally

finallyStatements

End Try


Type safety

Type Safety

  • VB6: Implicit Auto-Conversion on subroutine/function calls. Fails during run-time if data loss occurs.

  • VB.NET: Option Strict generates compile-time errors if a conversion is required.Option Strict Off.


Data type changes

Data Type Changes

  • Decimal data type replaces Currency data type.

  • Long is 64 bits. Integer is 32 bits. Short (new) is 16 bits.


Shared members

Shared Members

  • Data and method members of classes that are shared by all instances of a class.

  • A shared data member is one that all instances of a class share.

  • A shared method is a method that is not implicitly passed an instance of the class. (consequently, access to class data members is not allowed).


Initializers

Initializers

  • Initialization of variables on the lines they are declared.

    Dim X As Integer = 1

  • Equivalent to:

    Dim X As Integer

    X = 1

  • VB6 Recommendation:

    Dim X As Integer : X = 1


Namespaces

Namespaces

  • For organizing code hierarchically.

  • Example:

    Namespace UserGroups.NewYork.Rochester.VDUNY

    ... Insert your code here

    End Namespace


Namespaces1

Namespaces

  • Always public.

  • Components within the namespace may have Public, Friend or Private access.

  • Default access type is Friend.

  • Private members of a namespace are accessible only within the namespace declaration they were declared in.


Imports statement

Imports Statement

  • Imports namespace names from referenced projects and assemblies.

  • Syntax: Imports [aliasname = ] namespace

    Imports System

    Imports Microsoft.VisualBasic


Common language run time

Common Language Run-Time

  • System.*

  • “This changes everything.” Dodge Intrepid Commerical


Hello world

Hello World!

' Allow easy reference System namespace classes

Imports System

' Module houses the application’s entry point

Public Module modmain

' "Main" is application's entry point

Sub Main()

' Write text to the console

Console.WriteLine ("Hello World using Visual Basic!")

End Sub

End Module


Migrating from vb6 or vbscript to vb net

Migrating from VB6 or VBScript to VB.NET

  • Following information from A Preview of Active Server Pages+, Appendix B, Moving from VBScript or VB6 to VB7

  • Set and Let keywords no longer supported in VB.NET.

  • Set objVar = objRef ‘ VB6

  • objVar = objRef‘ VB.NET

  • Class property syntax changes in VB.NET.


Vb 6 class property syntax

VB 6 Class Property Syntax

Private mstrString As String

Public Property Let MyString ( ByVal NewVal As String )

mstrString = NewVal

End Property

Public Property Get MyString () As String

MyString = mstrString

End Property


Vb net class property syntax

VB.NET Class Property Syntax

Private mstrString As String

Public Property MyString As String

Get

MyString = mstrString

End Get

Set

mstrString = Value

End Set

End Property


Readonly and writeonly properties in vb net

ReadOnly and WriteOnly Properties in VB.NET

Private mstrReadOnlyString As String

ReadOnly Public Property MyReadOnlyString As String

Get

MyReadOnlyString = mstrReadOnlyString

End Get

End Property


Method function and subroutine calls require parenthesis

Method, Function and Subroutine Calls Require Parenthesis

  • VB.NET requires parenthesis around method, function and subroutine call parameters.

    MyFunction ( “Param1”, 1234 )

    objRef.MyMethod ( “Param1”, “Param2” )

    Response.Write ( “<B>Some Text</B>” )

  • VB6: Use: Call MyFunction ( “par1” )


Parameters default to byval

Parameters Default to ByVal

  • VB.NET defaults to ByVal for all parameters that are intrinsic data types.

  • Previously(VB6), the default was ByRef.

  • VB6 Recommendation: Explicitly declare all parameters to ByVal or ByRef.

  • References to objects, interfaces, array and string variables still default to ByRef.


Declarations in vb net

Declarations in VB.NET

  • Variables declared in the same statements must be the same type. No longer allowed:Dim a As Integer, b As String

  • Variables can be initialized in the same statement they are declared:Dim a As Integer = 123Dim intArray ( 3 ) = ( 12, 34, 56 )


Default values and optional parameters

Default Values andOptional Parameters

  • Default values can be supplied in function parameters.Sub MySubr ( ByVal intParam1 As Integer = 123 )

  • Optional parameters must always supply a default value.Function MyFunction ( Optional ByVal strParam As String = “MyString” )

  • IsMissing keyword is no longer supported.


Explicit casting now required

Explicit Casting Now Required

  • VB6 Sometimes did implicit auto-conversion of data types.

  • VB.NET now requires explicit casting.Response.Write ( CStr ( intLoop ) ) Trace.Write ( CStr ( intLoop ) )


Shorthand assignments

Shorthand assignments

  • VB6: intVar = intVar + 1

  • VB.NET: intVar += 1 intVar -= 1 intVar *= 2intVar /= 2


Short circuited conditional statements

Short Circuited Conditional Statements

  • Conditional expressions with And or Or: if first test fails, following expressions won’t be executed:if ( a = b ) And ( c = d ) Then …If a is not equal to b, then the test for c = d will not be executed.


References

References

  • Visual Studio Enables the Programmable Web, http://msdn.microsoft.com/vstudio/nextgen/technology/language.asp

  • Joshua Trupin, The Future of Visual Basic: Web Forms, Web Services, and Language Enhancements Slated for Next Generation,http://msdn.microsoft.com/msdnmag/issues/0400/vbnexgen/vbnexgen.asp


References1

References

  • Introducing Win Forms, http://msdn.microsoft.com/vstudio/nextgen/technology/winforms.asp

  • Visual Studio Enables the Programmable WebWeb Forms,http://msdn.microsoft.com/vstudio/nextgen/technology/webforms.asp


References2

References

  • Richard Anderson, Alex Homer, Rob Howard, Dave Sussman, A Preview of Active Server Pages +, Appendix B, Moving from VBScript or VB6 to VB7.


Resources

Resources

  • Microsoft .NET & ASP+ Resources and Information, http://www.devx.com/dotnet/resources/

  • News Server: news.devx.comNews Group: vb.vb7

  • News Server: msnews.microsoft.comNews Group: microsoft.public.net.*


  • Login