[go: up one dir, main page]

0% found this document useful (0 votes)
11 views31 pages

Slide 07 Inheritance

The document provides an introduction to inheritance in programming, covering key concepts such as inheritance terminology, extending classes, and the use of access specifiers. It explains the relationship between superclasses and subclasses, the benefits of inheritance, and the implementation of abstract classes and interfaces. Additionally, it discusses the importance of constructors and the limitations of multiple inheritance in C#.

Uploaded by

Jafar Mustefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views31 pages

Slide 07 Inheritance

The document provides an introduction to inheritance in programming, covering key concepts such as inheritance terminology, extending classes, and the use of access specifiers. It explains the relationship between superclasses and subclasses, the benefits of inheritance, and the implementation of abstract classes and interfaces. Additionally, it discusses the importance of constructors and the limitations of multiple inheritance in C#.

Uploaded by

Jafar Mustefa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 31

Introduction to Inheritance

1
 Learn about the concept of inheritance
 Learn inheritance terminology
 How to extend classes
 How to use the protected access
specifier
 How to override superclass methods

2
 How to access superclass methods from a
subclass
 How a subclass object “is an” instance of
the superclass
 About the Object class
 How to work with superclasses that have
constructors
 How to work with superclass constructors
that require arguments

3
 How to create and use abstract classes
 How to create and use interfaces
 Learn the benefits of inheritance

4
 Inheritance is the principle that states you can
apply your knowledge of a general category to
more specific objects
 When you create a class by making it inherit
from another class, you are provided with data
fields and methods automatically
 There are many advantages to using inheritance

5
 An Employee class

6
 The ability to use inheritance makes programs easier to
write, less error-prone, and easier to understand

7
 A class that is used as a basis for inheritance is
called a base class
 When you create a class that inherits from a base
class, it is a derived class or extended class
 You can use the terms superclass and subclass
as synonyms for base class and derived class
 You usually can distinguish base classes from
their subclasses by size

8
 A derived class can be further extended
 Inheritance is transitive; that means a child
inherits all the members of all its ancestors
 When you create your own transitive inheritance
chains, you want to place fields and methods at
their most general level

9
 When you create a class that is an extension or
child of another class, you use a single colon
between the derived class name and its base
class name
 Inheritance works in one direction

10
 Occasionally, you want to allow a subclass to
access parent class data, while still abiding by
the principle of information hiding
 The keyword protected provides you with an
intermediate level of security
 A protected data field or method can be used
within its own class or in any classes extended
from that class, but it cannot be used by
“outside” classes

11
 Declaring empSal as protected and accessing it
within CommissionEmployee

12
 When you create a subclass by extending an
existing class, the new subclass contains data
and methods that were defined in the original
superclass
 Sometimes the superclass data fields and
methods are not appropriate for the subclass
objects
 Using the same method name to indicate
different implementations is called
polymorphism

13
 In the above child class, the SetCredits() method
is declared as new because it has the same
name and argument list as a method in its parent
class—it overrides its counterpart

14
 DemoStudents program and Output

15
 A subclass can contain a method with the same
name and arguments as a method in its parent
class
 When you want to use the parent class method
within a subclass use the base keyword to
access the parent class method
 A method that calls itself is a recursive method

16
 Every subclass object “is a” specific instance of
both the subclass and the superclass
 You can assign a subclass object to an object of
any of its superclass types. When you do so, C#
makes an implicit conversion from subclass to
superclass
 C# also makes implicit conversions when casting
one data type to another

17
 Every class you create in C# derives from a
single class named System.Object
 The object (or Object) class type in the System
namespace is the ultimate base class for all other
types
 Every class descends from Object

18
 The Four public Instance Methods of the Object class

19
 The GetType() method returns an object’s type,
or class
 Object class methods are usually overridden
 The ToString() method can be useful for
debugging
 The Object class’s Equals() method returns true if
two Objects have the same memory address

20
 When you instantiate an object that is a member
of a subclass, you actually call two constructors
 When you create any subclass object, the base
class constructor must execute first

21
 When you use a class as a superclass, and the
class has a constructor that requires arguments,
then you must make sure that any subclasses
provide the superclass constructor with the
proper arguments
 The format of the statement that calls a
superclass constructor is base(list of
arguments)
 C# does not allow you to call the superclass
constructor by name, it must be called using the
base keyword

22
 An abstract class is one from which you cannot
create any concrete objects, but from which you
can inherit
 An abstract method has no method
statements; any class derived from a class
containing an abstract method must override the
abstract method by providing a body for it
 When you create an abstract method, you
provide the keyword abstract and the intended
method type, name, and argument
 When you create a subclass that inherits an
abstract method from a parent, you must use the
override keyword

23
 Animal class

24
 Dog and Cat classes

25
 DemoAnimals program and Output

26
 The ability to inherit from more than one class is
called multiple inheritance
 Multiple inheritance creates many complicated
problems, and as a result is prohibited in C#
 C# does provide an alternative to multiple
inheritance in the form of interfaces

27
 The benefits of inheritance are as follows:
 Subclass creators save development time because much
of the code that is needed for the class has already been
written
 Subclass creators save testing time
 Programmers who create or use new subclasses already
understand how the superclass works, so the time it
takes to learn the new class feature is reduced
 The superclass maintains its integrity

28
 Inheritance is the principle that you can apply
your knowledge of a general category to more
specific objects
 A class that is used as a basis for inheritance is
called a base class
 When you create a class that is an extension or
child of another class, you use a single colon
between derived class name and its base class
name
 If you could use private data outside of its class,
the principle of information hiding would be
destroyed
29
 You can declare a child class method with the
same name and argument list as a method within
its parent class
 When a subclass overrides a parent class method
and you want to use the parent class version, you
can use the keyword base to access the parent
class method
 Every subclass object “is a” specific instance of
both the subclass and the superclass
 Every class you create in C# derives from a
single class named System.Object

30
 When you instantiate an object that is a member
of a subclass, you actually call two constructors
 When you use a class as a superclass, and the
class has a constructor that requires arguments,
then within the header of the subclass
constructor you must provide values for any
arguments required by the base class constructor
 An abstract class is one from which you cannot
create any concrete objects
 C# provides an alternative to multiple
inheritance known as the interface

31

You might also like