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

Lecture 3 - OOP Concepts.pptx

The document provides an overview of Object Oriented Programming (OOP) concepts, focusing on abstraction, classes, and inheritance. It explains how abstraction simplifies complexity by capturing relevant details, how classes group objects with similar characteristics, and how inheritance allows for the reuse of code by creating a hierarchy of classes. Examples illustrate these concepts using scenarios involving students and teachers, as well as various shapes.

Uploaded by

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

Lecture 3 - OOP Concepts.pptx

The document provides an overview of Object Oriented Programming (OOP) concepts, focusing on abstraction, classes, and inheritance. It explains how abstraction simplifies complexity by capturing relevant details, how classes group objects with similar characteristics, and how inheritance allows for the reuse of code by creating a hierarchy of classes. Examples illustrate these concepts using scenarios involving students and teachers, as well as various shapes.

Uploaded by

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

Object Oriented Programming

Department of Computer Science

Lecturer: Abdul Rehman

Reference Book: Java How to Program By Deitel and


Deitel – 10th Edition

1-1
Lecture 3

Lecture Overview
Chapter 1. Introduction to OOP Concepts

1-2
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

Behavior
- 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
—Sharp Teeth
Kidney
Stomach
Example – Abstraction

Engineer’s View

Driver’s View
Abstraction – Advantages

❑ Simplifies the model by hiding irrelevant details


❑ 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 behavior)
We say that they belong to the same class
Example – Class
Ali is a PhD student and teaches BS students

✔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

Ali is a PhD student and teaches BS students

(Class Name)
(Class Name)
(attributes)

Suppressed Form
(operations)

Normal Form
Example – Graphical Representation of Classes

Circle
center Circle
radius
Suppressed Form
draw
computeArea

Normal Form
Example – Graphical Representation of Classes

Ali is a PhD student and teaches BS students

Person
name Person
age
gender Suppressed Form
eat
walk

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 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

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
25

You might also like