Upload
jesse-ward
View
223
Download
1
Tags:
Embed Size (px)
Citation preview
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 2
Objectives
• Understand the differences between classes and objects
• Understand object terminology, including encapsulation, inheritance, and polymorphism
• Know how to create your own classes
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 3
Objectives (cont.)
• Know how to write constructors with multiple parameter lists
• Develop applications that use classes and objects
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 4
14-1 Writing Objects
• VB .NET is an object-oriented language.
• Forms are objects.
• Controls are objects.
• Controls are objects that have GUI properties and methods.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 5
Classes and Objects
• An object is a combination of data and actions that can be treated as a unit.
• A class is the structure of an object, a blueprint that describes the properties (data) and methods (actions) of an object.
• An object is created from a class.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 6
14-2 Object-Oriented Terminology
• A language is considered to be object-oriented if it supports three main features:– Encapsulation– Inheritance– Polymorphism
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 7
Encapsulation
• Encapsulation refers to grouping related properties and methods so they can be treated as a single unit or object.
• Encapsulation also refers to protecting the inner contents of an object from being damaged or incorrectly referenced by external code.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 8
Encapsulation (cont.)
• One of the basic rules of encapsulation is that class data should be modified or retrieved only through property procedures.
• Limiting how external code interacts with the object allows for later modification without risk of compatibility problems.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 9
Encapsulation (cont.)
• Encapsulation allows you to control how the data and procedures are used.
• You should declare internal details of a class as Private to prevent them from being used outside your class; this technique is called data hiding.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 10
Inheritance
• Inheritance describes the ability to create new classes based on an existing class.
• The existing class is called the base class, and the new class derived from the base class is called the derived class.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 11
Inheritance (cont.)
• The derived class inherits all the properties, methods, and events of the base class and can be customized with additional properties and methods.
• Inheritance takes code reuse to a whole new level.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 12
Inheritance (cont.)
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 13
Polymorphism• Polymorphism is the ability for objects
from different classes to respond appropriately to identical method names or operators.
• Polymorphism is essential to object-oriented programming because it allows you to use shared names, and the system will apply the appropriate code for the particular object.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 14
14-3 Creating YourOwn Classes
• A class definition consists of fields, properties, and methods.
• A field is a variable in the class and is usually private.
• A property is a programming construct that typically provides the interface to a field in a class.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 15
14-3 Creating YourOwn Classes (cont.)
• A method is a function or a sub procedure within a class.
• The class definition also may contain constructor methods that are called when a new object is instantiated from the class.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 16
Fields
• Fields provide storage for the data in an object and are treated just like variables.
• For this text, all field values will be declared Private and all field names will begin with “F”.– [Public|Private] fieldname As datatype
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 17
Properties
• Private fields of a class cannot be accessed by external code.
• If you want an object’s field data to be read or changed, you should include property procedures in the class definition.
• The Get property procedure typically retrieves a Private field.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 18
Properties (cont.)
• The Set property procedure typically assigns a new value to a Private field.
• Some fields are intended to be read-only, meaning external code can view the value of the field, but cannot change its value.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 19
Methods
• Methods are procedures defined within a class.
• Methods have access to all data within the object – even Private data.[Private|Public] Sub procedurename([parameters])
[statements]
End Sub
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 20
Constructors
• A constructor is a special method that executes during the creation of an object.
• All constructor methods are procedures named New.– Sub New ([parameters])
[Statements]
End Sub
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 21
Constructors (cont.)
• When you define a class derived from another class, the first line of a constructor is typically a call to the constructor of the base class.
• The base class is referenced by using the keyword MyBase.– MyBase.New()
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 22
14-4 The Complete TMilitaryTime Class Definition
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 23
14-5 The Complete TPerson and TStudent Class Definitions
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 24
Chapter Summary
• VB. NET is an object-oriented language that supports encapsulation, inheritance, and polymorphism.
• Encapsulation refers to grouping related properties and methods so they can be treated as a single unit or object.
• Inheritance describes the ability to create new classes based on an existing class.
Crews/Murphy – Programming Right From the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall 25
Chapter Summary (cont.)
• Polymorphism is the ability for objects from different classes to respond appropriately to identical method names or operators.
• A class definition consists of fields, properties, and methods.
• A constructor is a special method that executes during the creation of an object.