Object Oriented Programming (OOP) - CS304 Power Point Slides Lecture 03
Object Oriented Programming (OOP) - CS304 Power Point Slides Lecture 03
Abstraction
Abstraction
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
Example Abstraction
Ali is a PhD student and teaches BS students
behaviour
Example Abstraction
Students Perspective
Attributes
Example Abstraction
Students Perspective
behaviour
Example Abstraction
Teachers Perspective
Attributes
Example Abstraction
Teachers Perspective
behaviour
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
Example Abstraction
Engineers View
Drivers View
Abstraction Advantages
Simplifies
details
Abstraction
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
one is a Student We say these objects are instances of the Student class
Example Class
Ahsan
one is a teacher We say these objects are instances of the Teacher class
Suppressed Form
Normal Form
Normal Form
Person
Suppressed Form
Normal Form
Inheritance
A
Besides
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
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
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