Object-Oriented Programming (OOP) Lecture No. 3
Object-Oriented Programming (OOP) Lecture No. 3
(OOP)
Lecture No. 3
Abstraction
► Principle of abstraction:
► Attributes
- Name - Employee ID
- Student Roll No - Designation
- Year of Study - Salary
- CGPA - Age
Example – Abstraction
Ali is a PhD student and teaches BS
students
► behaviour
- Study - DevelopExam
- GiveExam - TakeExam
- PlaySports - Eat
- DeliverLecture - Walk
Example – Abstraction
Student’s Perspective
► Attributes
- Name - Employee ID
- Student Roll No - Designation
- Year of Study - Salary
- CGPA - Age
Example – Abstraction
Student’s Perspective
► behaviour
- Study - DevelopExam
- GiveExam - TakeExam
- PlaySports - Eat
- DeliverLecture - Walk
Example – Abstraction
Teacher’s Perspective
► Attributes
- Name - Employee ID
- Student Roll No - Designation
- Year of Study - Salary
- CGPA - Age
Example – Abstraction
Teacher’s Perspective
► behaviour
- Study - DevelopExam
- GiveExam - TakeExam
- PlaySports - Eat
- DeliverLecture - Walk
Example – Abstraction
A cat can be viewed with different
perspectives
Engineer’s View
Driver’s View
Abstraction – Advantages
► Abstraction
provides the freedom to defer
implementation decisions by avoiding
commitment to details
Classes
(Class Name)
(Class Name)
(attributes)
Suppressed
(operations)
Form
Normal Form
Example – Graphical Representation
of Classes
Circle
center Circle
radius
draw Suppressed
computeArea Form
Normal Form
Example – Graphical Representation
of Classes
Person
name Person
age
gender Suppressed
eat Form
walk
Normal Form
Inheritance
► Besides
inherited characteristics, a child
may have its own unique characteristics
Inheritance in Classes
► If a class B inherits from class A then it
contains all the characteristics (information
structure and behaviour) of class A
► The parent class is called base class and the
child class is called derived class
► Besides inherited characteristics, derived
class may have its own unique
characteristics
Example – Inheritance
Person
Student Doctor
Teacher
Example – Inheritance
Shape
Line Triangle
Circle
Inheritance – “IS A” or
“IS A KIND OF” Relationship
Circle Triangle
radius Line angle
draw length draw
computeArea draw computeArea
Inheritance – Advantages
► Reuse
► Less redundancy
► Increased maintainability
Reuse with Inheritance
► Main purpose of inheritance is reuse
► We can easily add new classes by inheriting
from existing classes
Select an existing class closer to the desired
functionality
Create a new class and inherit it from the
selected class
Add to and/or modify the inherited functionality
Example Reuse
Shape
color
coord
draw
rotate
setColor
Circle Triangle
radius Line angle
draw length draw
computeArea draw computeArea
Example Reuse
Person
name
age
gender
eat
walk