Basic Concepts of OOPS
Basic Concepts of OOPS
Basic Concepts of OOPS
Table of Content
Object oriented programming Class and Encapsulation
Encapsulation Polymorphism
2
Feature: Object oriented programming
Terms
Object
Class
Abstraction
Encapsulation
Inheritance
3
Object
A thing in a real world that can be either physical or
conceptual. An object in object oriented programming can
be physical or conceptual.
Conceptual objects are entities that are not tangible in the
way real-world physical objects are.
Bulb is a physical object. While college is a conceptual
object.
Conceptual objects may not have a real world equivalent.
For instance, a Stack object in a program.
Object has state and behavior.
What is the state and behavior of this bulb?
4
Attributes and Operations
The object’s state is determined by the value of its
properties or attributes.
Properties or attributes member variables or data
members
The object’s behaviour is determined by the operations
that it provides.
Operations member functions or methods
5
Putting it together
A bulb: object
1. It’s a real-world thing. methods
2. Can be switched on to generate light and switched off.
3. It has real features like the glass covering, filament and holder.
4. It also has conceptual features like power.
member variables
class
6
Class
A class is a construct created in object-oriented
programming languages that enables creation of
objects.
Also sometimes called blueprint or template or
prototype from which objects are created.
It defines members (variables and methods).
A class is an abstraction.
7
Abstraction
Abstraction denotes essential characteristics of an object that distinguish it
from all other kinds of objects and thus provide crisply defined conceptual
boundaries, relative to the perspective of the viewer.
-Grady Booch
Abstraction is the process of taking only a set of essential
characteristics from something.
Example
For a Doctor you are a Patient
Name, Age, Old medical records
For a Teacher you are a Student
Name, Roll Number/RegNo, Education background
For HR Staff you are ______________
___________,_____________,___________
You
8
Encapsulation
Would you like it if your CPU is given
to you like this?
- : private
+ : public
10
Reuse in Object Oriented Language
Object Oriented Languages also implements reuse in the
same way that we do in real life.
Using
has-a
is-a
12
Inheritance hierarchy
Animal
legs
Single -level tail
run() Multi-level
CatFamily
paddedClaws
whiskers
Dog
bark()
Tiger Cat
growl() meow()
13
Multiple inheritance
Mammal Bird
Bat
Many Object-orientated language does not support this
type of inheritance.
Java, C# are the examples of object-oriented language that
does not support multiple inheritance through classes.
14
Generalization and Specialization
WildAnimal
legs
tail
run()
Generalization Specialization
CatFamily
paddedClaws
whiskers
Tiger Cat
growl() meow()
15
Activity: match the following
Fruit Parrot
Library Music
Cat Tiger
Bird Books
Apple
Mango
16
Activity
Given the following classes. Can you form inheritance
hierarchy?
Person
Teacher
Student
HOD
Typist
Clerk
17
Polymorphism
A concept in type theory, according to which a name (such
as avariable declaration) may denote objects of many
different classes that are related by some common
superclass; thus, any object denoted by this name is able to
respond to some common set of operations in different
ways.
18
Polymorphism example
Flower
fragrance()
Rose Sunflower
fragrance() fragrance()
FlowerVase
Flower f[]
smell()
19
You pick a rose from the vase and smell it?
What fragrance do you expect?
f[0]= rose;
Flower
f[1]= sunflower;
….
fragrance()
FlowerVase
smell()
fragrance() fragrance()
f[0]. fragrance();
f[1]. fragrance();
…
20
Exercise: Inheritance
Among the classes that you identified, are there any
classes that you can relate via inheritance.
(Hint: are there any classes which have common
attributes/methods that can be moved up the hierarchy)
21
Revisiting definition
Object-oriented programming is a method of implementation in which programs are
organized as cooperative collections of objects, each of which represents an instance of
some class, and whose classes are all members of a hierarchy of classes united via
inheritance relationships.
Person
• -name: String Rama Course
• + display(): void 123
• -name: String
enroll()
• -year: Date
• + display(): void
Student B.Tech • + enroll(Student): boolean
2010
• -roll: long
• + read(): boolean
22
Summary
Object-oriented programming is a method of implementation in
which programs are organized as cooperative collections of objects.
The object’s state is determined by the value of its properties and
its behavior is determined by the operations that it provides.
Abstraction is the process of taking only a set of essential
characteristics from something.
Encapsulation is binding data and operations that work on data
together in a construct.
Inheritance defines relationship among classes, wherein one class
share structure or behavior defined in one or more classes.
Polymorphism is using a function in many forms. Poly means
‘many’, Morphism means ‘forms’.
23