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

OOP-Lecture 03

C++

Uploaded by

shahwaizarts
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

OOP-Lecture 03

C++

Uploaded by

shahwaizarts
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 32

Object Oriented

Programming
Dr. Mujeeb Ur Rehman
[email protected]

Recommended Books:
1.C++ How to Program ( Deitel & Deitel );
2.Object-Oriented Software Engineering By Jacobson, Christerson, Jonsson,
Overgaard
Hazrat/Sir Allama Muhammad Iqbal (R.A)
Object-Oriented
Programming (OOP)
Lecture No. 3
Abstraction

► Abstraction is a way to cope with


complexity.

► Principle of abstraction:

“Capture only those details about an object


that are relevant to current perspective”
Example – Abstraction
Ali is a PhD student and teaches BS
students

► 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

► Ordinary Perspective ► Surgeon’s Perspective


A pet animal with A being with
 Four Legs  A Skeleton
 A Tail  Heart
 Two Ears  Kidney
 Sharp Teeth  Stomach
Example – Abstraction

Engineer’s View

Driver’s View
Abstraction – Advantages

► Simplifiesthe model by hiding


irrelevant details

► Abstraction
provides the freedom to
defer implementation decisions by
avoiding commitment to details
Classes

► Inan OO model, some of the objects


exhibit identical characteristics
(information structure and behaviour)

► We say that they belong to the same


class
Example – Class
► Ali
studies mathematics
► Anam studies physics
► Sohail studies chemistry

► Each one is a Student


► We say these objects are instances of
the Student class
Example – Class
► Ahsan teaches mathematics
► Aamir teaches computer science
► Atif teaches physics

► Each one is a teacher


► We say these objects are instances of
the Teacher class
Graphical Representation of
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

►A child inherits characteristics of its


parents

► Besidesinherited characteristics, a
child may have its own unique
characteristics
Inheritance in Classes
► Ifa 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

► Each derived class is a special kind of


its base class
Example – “IS A” Relationship
Person
name
age
gender
eat
walk

Student Teacher Doctor


program designation designation
studyYear salary salary
study teach checkUp
heldExam takeExam prescribe
Example – “IS A” Relationship
Shape
color
coord
draw
rotate
setColor

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

Student Teacher Doctor


program designation designation
studyYear salary salary
study teach checkUp
heldExam takeExam prescribe
Example Reuse
Person
name
age
gender
eat
walk

Student Teacher Doctor


program designation designation
studyYear salary salary
study teach checkUp
heldExam takeExam prescribe

You might also like