Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and Inheritance.

46
Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and Inheritance

Transcript of Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and Inheritance.

Microsoft Visual Basic 2008

CHAPTER ELEVEN

Multiple Classesand Inheritance

11

Chapter 11: Multiple Classes and Inheritance 2

Objectives

► Use the TabIndex Property

► Edit input, including a Masked TextBox, TextBox, and ComboBox objects

► Describe the three-tier program structure

► Understand a class [ Abstract Data Type ]

► Create a class

► VisualBasic Methods are implemented using:

• Sub procedures

• Function procedures

11

Chapter 11: Multiple Classes and Inheritance 3

Objectives

►Instantiate a class [ create an object ]

►Pass arguments when instantiating an object

►Write a class constructor

►Call a method in an object [ or Class if Shared ]

11

Chapter 11: Multiple Classes and Inheritance 4

Objectives

►Using inheritance, code a base class and a subclass [derived class]

►Call procedures [methods] found in a base class and a subclass

►Create an overridable method

►Create an overridden method by using the keyword overrides

►Create and write a comma-delimited text file

11 Class Vocabulary

► Class [ blueprint for an object ]• encapsulation• data hiding• code reuse• stability• complexity• multiple programmers

► Class components• attributes• behaviors• properties• state

Chapter 11: Multiple Classes and Inheritance 5

11 Class Vocabulary

► Object [ instance of a class ]• variables [ instance / shared ]• method types

► sub procedures► function procedures

• method purpose► accessor (query) method ► mutator method ► utility method

• constructor(s)• destructor

► Object-Oriented Design Tools• inheritance• polymorphism• overloading• overriding• abstract classes• abstract methods• class variables• class methods

Chapter 11: Multiple Classes and Inheritance 6

11 Class Vocabulary

► Object instantiation

• reference variable• class creation expression [ new ]• object . member or class . member• null reference

► Class keywords

• Class• Friend• Get• Implements• Inherits• Interface• Me• MustInherit• MustOverride• MyBase• New• NotInheritable• NotOverridable

Chapter 11: Multiple Classes and Inheritance 7

• Object• Overridable• Overrides• Private• Property• Protected• Public• ReadOnly• Set• Shadows• WriteOnly

11

Chapter 11: Multiple Classes and Inheritance 8

Chapter Project

11

Chapter 11: Multiple Classes and Inheritance 9

User Interface and the TabIndex Property

►Select txtStudentID MaskedTextBox object. ►Set the TabIndex property to 1

►Select the object which should be selected when the user presses the Tab key.

►Select txtStudentName TextBox object. ►Set the TabIndex property to 2

11

Chapter 11: Multiple Classes and Inheritance 10

User Interface and the TabIndex Property

11

Chapter 11: Multiple Classes and Inheritance 11

Editing Input Data [validation]

► Student ID: • The student ID object is a masked textbox and the mask is for the social

security number, so the mask ensures that the user can enter only numbers.

But, the social security mask does not ensure the user enters all nine numbers. Therefore, a check must be included in the program to require the user to enter all 9 numeric digits

► Student Name: • The program must ensure the user enters characters in this TextBox

object. In addition, spaces cannot be entered instead of actual alphabetic characters

► Number of Units: • The user must enter a numeric value from 1 through 24 for the number of

units the student is taking

► Major: • The user must select a major from the list in the Major ComboBox object

11

Chapter 11: Multiple Classes and Inheritance 12

Editing Input Data MaskedTextBox

MaskFull property

11

Chapter 11: Multiple Classes and Inheritance 13

Program Structure Using Classes

►The concept of separating processing and hiding data within specific classes is called encapsulation

►When developing programs with multiple classes, a starting point for determining what classes should appear in a program is the three-tier program structure

GUI Problem Domain Data Access Business Logic

11

Chapter 11: Multiple Classes and Inheritance 14

Program Structure Using Classes

►presentation tier: [ GUI ]• contains the classes that display information for the

user and accept user input

►business tier: [ Problem Domain / Business Logic ]• contains the logic and calculations that must occur in

order to fulfill the requirements of the program

►persistence tier: [ Data Access ]• sometimes called the data access tier, contains the

code required to read and write data from permanent storage

11

Chapter 11: Multiple Classes and Inheritance 15

Sample Program Classes

► Presentation tier • The presentation tier contains the RegistrationCostForm class.

This class displays the user interface in a Windows Form object and also edits the user input data to ensure its validity

► Business tier: • The business tier contains two classes: the Student class and the

OnCampusStudent class.

►Student class contains data for each registered student and calculates the registration costs for some students.

►OnCampusStudent class is used for registered students who live in oncampus residence halls

► Persistence tier: • The persistence tier consists of one class, StudentCostsFile,

which creates and writes the Student Costs File

11

Chapter 11: Multiple Classes and Inheritance 16

Creating a Class

►right-click the project name in the Solution Explorer window and then point to Add on the shortcut menu

►Click Class on the Add submenu

►Type Student as the name of the class and then click the Add button

►Using the same techniques, create the OnCampusStudent class and the StudentCostsFile classes

11

Chapter 11: Multiple Classes and Inheritance 17

Creating a Class

11

Chapter 11: Multiple Classes and Inheritance 18

Instantiating a Class [ New ]and Class Communication

►Whenever you define a class in your Visual Basic program, you must instantiate, or create, an object based on that class in order for the processing within the object to take place

11

Chapter 11: Multiple Classes and Inheritance 19

Constructors

►When a class is instantiated, an object is created. Generally this is done using the New keyword.

►Once the object is created, a special procedure in the instantiated class called a constructor is executed

►The constructor prepares the object for use in the program by initializing class-level variables.

►Every class has a constructor.

►If no constructor was created by the programmer, VisualBasic.NET provides a “default” constructor that doesn’t do anything…

11

Chapter 11: Multiple Classes and Inheritance 20

Constructors

►VisualBasic permits “overloaded” constructors just as it permits overloaded function and sub procedures

►Below is a “default” aka “no-argument” constructor

11

Chapter 11: Multiple Classes and Inheritance 21

Passing Arguments to a Constructor

►Often when instantiating an object, data must be passed to the constructor when it is created.

►In the Student class, the New statement must be written with corresponding arguments; that is, the “signature” of the instantiating statement must be the same as the constructor heading in the class

11

Chapter 11: Multiple Classes and Inheritance 22

Passing Arguments to a Constructorwhen Instantiating an Object

11

Chapter 11: Multiple Classes and Inheritance 23

Calling a Procedure in a Different Object

►Most of the time, separate objects in a program contain procedures [methods] that must be executed

11

Chapter 11: Multiple Classes and Inheritance 24

Inheritance

► Inheritance allows one class to inherit attributes and behaviors from another class

►Attributes: variables►Behaviors: methods

Subclass

ResidenceHall

11

Chapter 11: Multiple Classes and Inheritance 25

Inheritance

Permissible Access Modifiers: Public, Private, Protected, Friend

11

Chapter 11: Multiple Classes and Inheritance 26

Inheritance [ General ----> Specific ]

The Inherits keyword precedes the name of the base class for a subclass.

Remember, you inherit variables and methods.

11

Chapter 11: Multiple Classes and Inheritance 27

Constructors

BASE CLASS CONSTRUCTOR [ Student ]

11

Chapter 11: Multiple Classes and Inheritance 28

Constructors

SUBCLASS CONSTRUCTOR [ OnCampusStudent ]

MyBase is a referece to the base class of the subclass. This is similar to the reference Me by which a class [object] refers to itself.

11

Chapter 11: Multiple Classes and Inheritance 29

Inheritance and Procedures [Methods]

►When using inheritance, the subclass can use the procedures and variables inherited from the base class

[ must be public/protected ]►Between the base class and the subclass, five

different techniques for referencing and calling a procedure from an outside class such as a Form class can be used

►After the base class and the subclass have been instantiated, the following techniques are available:

11

Chapter 11: Multiple Classes and Inheritance 30

Inheritance and Procedures

►Base Class• Call a named procedure in the base class• Call an Overridable procedure in the base

class►Subclass• Call an Overridable Procedure in the subclass• Call a named procedure in the subclass• Call a base class procedure in the subclass

11

Chapter 11: Multiple Classes and Inheritance 31

Inheritance and Procedures [ Methods ]

►A method in a class can call other methods in the same class or public/protected inherited methods from its superclass.

►An Overridable method is a method which can be overridden in a subclass [ the implementation can be changed… ]

►To override an “overridable” method in a subclass you use the keyword Overrides in the method signature. Overriding is optional.

11

Chapter 11: Multiple Classes and Inheritance 32

Creating an Overridable MethodCalling base class version in subclass

11

Chapter 11: Multiple Classes and Inheritance 33

Creating an Overrides Method [ subclass ]

Overrode the base class overridable function

11

Chapter 11: Multiple Classes and Inheritance 34

Persistence Classes

►The persistence tier in an application, sometimes called the data access tier, contains classes that are involved in saving and retrieving data that is stored on a permanent storage medium such as a hard disk, a DVD-ROM or a USB drive

11

Chapter 11: Multiple Classes and Inheritance 35

Persistence Classes

11

Chapter 11: Multiple Classes and Inheritance 36

Comma-Delimited Text File

11

Chapter 11: Multiple Classes and Inheritance 37

Comma-Delimited Text File

11

Chapter 11: Multiple Classes and Inheritance 38

Program Design

11

Chapter 11: Multiple Classes and Inheritance 39

Program Design

11

Chapter 11: Multiple Classes and Inheritance 40

Program Design

11

Chapter 11: Multiple Classes and Inheritance 41

Event Planning Document

11

Chapter 11: Multiple Classes and Inheritance 42

Event Planning Document

11

Chapter 11: Multiple Classes and Inheritance 43

Event Planning Document

11

Chapter 11: Multiple Classes and Inheritance 44

Event Planning Document

11

Chapter 11: Multiple Classes and Inheritance 45

Event Planning Document

Microsoft Visual Basic 2008

CHAPTER 11 COMPLETE

Multiple Classesand Inheritance