microsoft visual basic 2005: reloaded second edition chapter 10 creating classes and objects

57
Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Upload: dasia-chesterfield

Post on 01-Apr-2015

223 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded

Second Edition

Chapter 10Creating Classes and Objects

Page 2: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 2

Objectives

After studying this chapter, you should be able to:

• Define a class

• Instantiate an object from a class that you define

• Add Property procedures to a class

• Include data validation in a class

• Create default and parameterized constructors

Page 3: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 3

Objectives (continued)

• Include methods in a class

• Overload the methods in a class

• Create a derived class using inheritance

Page 4: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 4

Classes and Objects

• Object-oriented programs are based on objects that are instantiated (created) from classes

• Properties: attributes that describe the object• Methods: behaviors that allow the object to perform

tasks• A class encapsulates properties and methods• VB.Net has many built-in classes• You can define your own classes

Page 5: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 5

Defining a Class

• Class statement: defines a class• Use Pascal casing for the class name• Define attributes and behaviors of the class within

the class

• Code editor automatically adds the Class statement

Page 6: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 6

Defining a Class (continued)

Page 7: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 7

Defining a Class (continued)

Page 8: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 8

Defining a Class (continued)

Page 9: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 9

Defining a Class (continued)

Page 10: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 10

Defining a Class (continued)

Page 11: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 11

Example 1 – Using a Class that Contains Public Variables Only

Page 12: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 12

Using a Class that Contains Public Variables Only (continued)

• Any class variable declared with Public keyword can be accessed by any application that contains an instance of the class

• Use Pascal case for Public variables in a class

Page 13: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 13

Using a Class that Contains Public Variables Only (continued)

Page 14: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 14

Using a Class that Contains Public Variables Only (continued)

Page 15: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 15

Using a Class that Contains Public Variables Only (continued)

Page 16: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 16

Using a Class that Contains Public Variables Only (continued)

Page 17: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 17

Using a Class that Contains Public Variables Only (continued)

• Access an object’s attributes using the dot operator:

objectVariable.attribute• Disadvantages of Public variables in a class:

– The class cannot control the values assigned to the variables

– Violates the concept of OOP encapsulation

Page 18: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 18

Example 2 – Using a Class that Contains a Private Variable, a

Property Procedure, and Two Methods

Page 19: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 19

Using a Class that Contains a Private Variable, a Property Procedure, and

Two Methods (continued)

• Class variables declared with Private keyword:– Can only be used by the class– Are hidden from the rest of the application– Names should start with underscore _

• Application can change class variable values only by using the class’s methods

Page 20: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 20

Using a Class that Contains a Private Variable, a Property Procedure, and

Two Methods (continued)

• Property procedure: – A Public method in the class for manipulating a class

variable– Exposes a Private class variable as a Property for

use by the application

Page 21: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 21

Using a Class that Contains a Private Variable, a Property Procedure, and

Two Methods (continued)

Page 22: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 22

Using a Class that Contains a Private Variable, a Property Procedure, and

Two Methods (continued)• Get block: contains code to allow an application to

retrieve the contents of the variable exposed as a Property

• Set block: allows an application to assign a value to the variable exposed as a Property

• ReadOnly keyword: makes a property readable but not settable (no Set block)

• WriteOnly keyword: makes a property settable but not readable (no Get block)

Page 23: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 23

Constructors

• Constructor: – A method whose instructions are processed

automatically when an object is instantiated from a class

– Purpose is to initialize the class’s Private variables– Method name must be New– May or may not have parameters

• Default constructor: a constructor with no parameters

Page 24: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 24

Constructors (continued)

Page 25: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 25

Methods Other than Constructors

• Methods in a class can be Sub or Function procedures

• Use Pascal casing for method names

Page 26: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 26

Methods Other than Constructors (continued)

Page 27: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 27

Methods Other than Constructors (continued)

Page 28: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 28

Methods Other than Constructors (continued)

Page 29: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 29

Methods Other than Constructors (continued)

Page 30: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 30

Example 3 – Using a Class that Contains Two Constructors

Page 31: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 31

Using a Class that Contains Two Constructors (continued)

Page 32: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 32

Using a Class that Contains Two Constructors (continued)

• Parameterized constructor: a constructor method that contains parameters

• Method signature: method name and parameter list

• Best practices:– Parameterized constructor should set the values of the

class variables using the class’s Property procedures to take advantage of any validation code in the Property procedures

Page 33: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 33

Using a Class that Contains Two Constructors (continued)

Page 34: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 34

Using a Class that Contains Two Constructors (continued)

Page 35: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 35

Using a Class that Contains Two Constructors (continued)

Page 36: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 36

Using a Class that Contains Two Constructors (continued)

Page 37: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 37

Using a Class that Contains Two Constructors (continued)

Page 38: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 38

Example 4 – Using a Class that Contains Overloaded Methods

Page 39: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 39

Using a Class that Contains Overloaded Methods (continued)

Page 40: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 40

Using a Class that Contains Overloaded Methods (continued)

• Overloaded methods: two or more methods that have the same name but different parameters

• Constructors can be overloaded• To overload a non-constructor method, use the Overloads keyword in the method declaration

• Many of VB’s built-in methods are overloaded, as shown in the Intellisense feature:

Page 41: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 41

Using a Class that Contains Overloaded Methods (continued)

Page 42: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 42

Using a Class that Contains Overloaded Methods (continued)

Page 43: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 43

Using a Class that Contains Overloaded Methods (continued)

Page 44: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 44

Using a Class that Contains Overloaded Methods (continued)

Page 45: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 45

Using a Class that Contains Overloaded Methods (continued)

Page 46: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 46

Example 5 – Using a Base Class and a Derived Class

• Inheritance: one class can be created from another class

• Base class: the original class

• Derived class: the new class created from the base class

• Inherits keyword: specifies the base class

Page 47: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 47

Using a Base Class and a Derived Class (continued)

Page 48: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 48

Using a Base Class and a Derived Class (continued)

Page 49: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 49

Using a Base Class and a Derived Class (continued)

Page 50: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 50

Using a Base Class and a Derived Class (continued)

• Derived class contains all of the attributes and behaviors of the base class

• Derived class may also contain its own attributes and behaviors

• Overridable keyword: indicates the base class method can be overridden by the derived class

• Overrides keyword: indicates that a method in the derived class overrides the method with the same name in the base class

Page 51: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 51

Using a Base Class and a Derived Class (continued)

• MyBase keyword: refers to the base class• MyBase.New: tells the computer to process the

code in the base class’s constructor

Page 52: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 52

Using a Base Class and a Derived Class (continued)

Page 53: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 53

Programming Tutorial

Page 54: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 54

Programming Example

Page 55: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 55

Summary

• Objects are instantiated from classes

• Classes encapsulate their attributes and behaviors

• Class Public data members and methods are exposed to any application that creates an object from the class; class Private members are not

• Class Public properties allow an application to manipulate private class data members

• ReadOnly keyword allows a property to be retrieved but not changed

Page 56: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 56

Summary (continued)

• WriteOnly allows a property to be changed but not retrieved

• Property Get block implements retrieving the property value

• Property Set block implements changing the property value

• Constructor: a sub procedure named New that is processed when an object is created from the class

• Default constructor: has no parameters

Page 57: Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects

Microsoft Visual Basic 2005: Reloaded, Second Edition 57

Summary (continued)

• Derived class: a new class created from another class (the base class)

• Overridable keyword: indicates that a method in the base class can be overridden in the derived class

• Overrides keyword: indicates that a method in the derived class overrides a method of the same name in the base class

• Inherits clause: creates a derived class• MyBase keyword: refers to the base class