Inheritance, Method Overloading, Interfaces, Abstract Classes
Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and Inheritance.
-
Upload
stephen-todd -
Category
Documents
-
view
220 -
download
0
Transcript of Microsoft Visual Basic 2008 CHAPTER ELEVEN Multiple Classes and 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 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 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 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 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