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

Object Oriented Programming (OOP) - CS304 Power Point Slides Lecture 03

1) Abstraction is a concept in object-oriented programming that allows developers to hide unnecessary details from users and focus only on the details that are relevant to a particular perspective or context. 2) Classes are templates that define common attributes and behaviors of objects. For example, Ali, Anam, and Sohail are all instances of the Student class. 3) Inheritance allows classes to inherit attributes and behaviors from other classes. For example, the Student class inherits from the Person class and adds its own attributes like program and studyYear.

Uploaded by

Sameer Hane
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
474 views

Object Oriented Programming (OOP) - CS304 Power Point Slides Lecture 03

1) Abstraction is a concept in object-oriented programming that allows developers to hide unnecessary details from users and focus only on the details that are relevant to a particular perspective or context. 2) Classes are templates that define common attributes and behaviors of objects. For example, Ali, Anam, and Sohail are all instances of the Student class. 3) Inheritance allows classes to inherit attributes and behaviors from other classes. For example, the Student class inherits from the Person class and adds its own attributes like program and studyYear.

Uploaded by

Sameer Hane
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

Object-Oriented Programming (OOP) Lecture No.

Abstraction
Abstraction

complexity.

is a way to cope with

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 Student Roll No Year of Study CGPA

Employee ID Designation Salary Age

Example Abstraction
Ali is a PhD student and teaches BS students
behaviour

Study GiveExam PlaySports DeliverLecture

DevelopExam TakeExam Eat Walk

Example Abstraction
Students Perspective
Attributes

Name Student Roll No Year of Study CGPA

Employee ID Designation Salary Age

Example Abstraction
Students Perspective
behaviour

Study GiveExam PlaySports DeliverLecture

DevelopExam TakeExam Eat Walk

Example Abstraction
Teachers Perspective
Attributes

Name Student Roll No Year of Study CGPA

Employee ID Designation Salary Age

Example Abstraction
Teachers Perspective
behaviour

Study GiveExam PlaySports DeliverLecture

DevelopExam TakeExam Eat Walk

Example Abstraction
A cat can be viewed with different perspectives
Ordinary

Perspective

Surgeons

Perspective

A pet animal with Four Legs A Tail Two Ears Sharp Teeth

A being with A Skeleton Heart Kidney Stomach

Example Abstraction

Engineers View
Drivers View

Abstraction Advantages
Simplifies

details

the model by hiding irrelevant

Abstraction

provides the freedom to defer implementation decisions by avoiding commitment to details

Classes
In

an OO model, some of the objects exhibit identical characteristics (information structure and behaviour)
say that they belong to the same class

We

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) (operations)

Suppressed Form

Normal Form

Example Graphical Representation of Classes


Circle
center radius draw computeArea

Circle Suppressed Form

Normal Form

Example Graphical Representation of Classes


Person
name age gender eat walk

Person

Suppressed Form

Normal Form

Inheritance
A

child inherits characteristics of its parents

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 Teacher

Doctor

Example Inheritance
Shape

Line Circle

Triangle

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
program studyYear study heldExam

Teacher
designation salary teach takeExam

Doctor
designation salary checkUp prescribe

Example IS A Relationship
Shape
color coord draw rotate setColor

Circle
radius draw computeArea

Triangle
Line
length draw angle draw computeArea

Inheritance Advantages
Reuse
Less

redundancy
maintainability

Increased

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
radius draw computeArea

Triangle
Line
length draw angle draw computeArea

Example Reuse
Person
name age gender eat walk

Student
program studyYear study heldExam

Teacher
designation salary teach takeExam

Doctor
designation salary checkUp prescribe

Example Reuse
Person
name age gender eat walk

Student
program studyYear study heldExam

Teacher
designation salary teach takeExam

Doctor
designation salary checkUp prescribe

You might also like