0% found this document useful (0 votes)
8 views

l2 Object Oriented Programming Inheritance1 0

Uploaded by

amna habeeeb
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

l2 Object Oriented Programming Inheritance1 0

Uploaded by

amna habeeeb
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 22

Object-Oriented

Programming: Inheritance

Chapter 2
Introduction
 Inheritance is a form of software reuse in which a
new class is created quickly and easily by absorbing
an existing class’s members and customizing them
with new or modified capabilities.
 With inheritance, you can save time during program

development and build better software by reusing


proven, high-quality classes.
Introduction
 When creating a class, rather than declaring
completely new members, you can designate that the
new class inherits the members of an existing class.
 The existing class is called the base class, and the

new class is the derived class.


Introduction
 A derived class can add its own instance variables,
Shared variables, properties and methods, and it can
customize methods and properties it inherits.

 Therefore, a derived class is more specific than its


base class and represents a more specialized group of
objects.
Base Classes and Derived Classes
 Inheritance enables an is-a relationship.
 In an is-a relationship, an object of a derived class also can be
treated as an object of its base class.
 For example, a car is a vehicle.
 The next slide lists several simple examples of base classes
and derived classes—base classes tend to be more general and
derived classes tend to be more specific.
 Base-class objects cannot be treated as objects of their derived
classes—although all cars are vehicles, not all vehicles are
cars (the other vehicles could be trucks, planes or bicycles, for
example)
Base Classes and Derived Classes
Example: CommunityMember
Inheritance Hierarchy
Base Classes and Derived Classes
 Each arrow in the inheritance hierarchy represents an is-a
relationship.
 As we follow the arrows upward in this class hierarchy, we
can state, for instance, that “an Employee is a
CommunityMember” and “a Teacher is a Faculty
member.”
 A direct base class is the class from which a derived class
explicitly inherits.
 An indirect base class is inherited from two or more levels up
in the class hierarchy.
Declaration of Base Class and
Derived Class
Public Class BaseClass

End Class
--------------------
Public Class DerivedClass
Inherits BaseClass

End Class
Person

Example m_Name
SSN

Student
Derived Class Base Class
M_classGroup
Class Student Class Person
Inherits Person Private m_Name As String
Private m_ClassGroup As String Private SSN As Integer
P ublic Sub New(ByVal N As String,
ByVal S As Integer, ByVal G As String ) P ublic Sub New(ByVal N As String,
MyBase.New(N, S) ByVal S As Integer)
m_ClassGroup = G m_Name = N
End Sub SSN = S
End Sub

Public Property ClassGroup() As String Public Property Name() As String


Get Get
ClassGroup = m_ClassGroup Name = m_Name
End Get End Get
Set(ByVal value As String) Set(ByVal value As String)
m_ClassGroup = value m_Name = value
End Set End Set
End Property End Property
End Class
End Class
Inheritance Rules
 By default, all classes are inheritable unless marked with
the NotInheritable keyword.
 Visual Basic allows only single inheritance in classes; that is,
derived classes can have only one base class.
 To prevent exposing restricted items in a base class, the access
type of a derived class must be equal to or more restrictive
than its base class.
Inheritance Modifier
 Visual Basic introduces the following class-level statements
and modifiers to support inheritance:
◦ Inherits statement — Specifies the base class.
◦ NotInheritable modifier — Prevents programmers from using the class
as a base class.
◦ MustInherit modifier — Specifies that the class is intended for use as a
base class only. Instances of MustInherit classes cannot be created
directly; they can only be created as base class instances of a derived
class.
Constructer
 Constructors are not inherited, so class Student does not
inherit class Person’s constructor.
 In fact, the first task of any derived-class constructor is to call its
direct base class’s constructor to ensure that the instance
variables declared in the base class are initialized properly.
 Ex. MyBase.New(N, S)
 If the code does not include call to the base-class constructor,
Visual Basic implicitly calls the base class’s default or
parameterless constructor.
Private member
 In inheritance, Public members of the base class become
Public members of the derived class.
 A base class’s Private members are not inherited by its
derived classes.
 Derived-class methods can refer to Public members
inherited from the base class simply by using the member
names.
 Derived-class methods cannot directly access Private
members of their base class.
 A derived class can change the state of Private base-class
instance variables only through Public methods provided
in the base class and inherited by the derived class.
Overriding Properties and Methods in
Derived Class (Polymorphism)
 By default, a derived class inherits properties and methods
from its base class.
 If an inherited property or method has to behave differently in
the derived class it can be overridden.
 Overriding means define a new implementation of the method
in the derived class.
Overriding Properties and Methods in
Derived Class
 The following modifiers are used to control how properties
and methods are overridden:
◦ Overridable — Allows a property or method in a class to be overridden
in a derived class.
◦ Overrides — Overrides an Overridable property or method defined in
the base class.
◦ NotOverridable — Prevents a property or method from being
overridden in an inheriting class. By default, Public methods
are NotOverridable.
◦ MustOverride — Requires that a derived class override the property or
method. When the MustOverride keyword is used, the method definition
consists of just the Sub, Function, or Property statement.
MustOverride methods must be declared in MustInherit classes.
The MyBase Keyword
 The MyBase keyword behaves like an object variable that
refers to the base class of the current instance of a class.
 MyBase is frequently used to access base class members that
are overridden or shadowed in a derived class.
Class BaseClass
Public Overridable Function CalculateShipping(
ByVal Dist As Double, ByVal Rate As Double) As Double
Return Dist * Rate
End Function
End Class
The MyBase Keyword
 The following list describes restrictions on using MyBase:
◦ MyBase refers to the immediate base class and its inherited
members. It cannot be used to access Private members in the
class.
◦ MyBase is a keyword, not a real object.
◦ The method that MyBase qualifies does not have to be
defined in the immediate base class.
◦ You cannot use MyBase to call MustOverride base class
methods.
Examples
Examples
Example
Example

by Pearson Education, Inc. 1992-2011 ©


.All Rights Reserved

You might also like