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

Classes OOP

The document outlines a lecture on Object-Oriented Programming (OOP), focusing on key concepts such as classes, objects, encapsulation, inheritance, and polymorphism, with practical implementations in Java. It emphasizes the advantages of OOP, including information hiding and abstraction, and provides examples to illustrate these concepts. Additionally, it mentions course objectives, contents, and recommended reading materials.

Uploaded by

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

Classes OOP

The document outlines a lecture on Object-Oriented Programming (OOP), focusing on key concepts such as classes, objects, encapsulation, inheritance, and polymorphism, with practical implementations in Java. It emphasizes the advantages of OOP, including information hiding and abstraction, and provides examples to illustrate these concepts. Additionally, it mentions course objectives, contents, and recommended reading materials.

Uploaded by

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

Object-Oriented Programming

(OOP)
Lecture No. 8
Course Objective
• Objective of this course is to make students
familiar with the concepts of object-oriented
programming
• Concepts will be reinforced by their
implementation in Java
• Project: (1) GUI + Database
(2) 3D Game design in Alice + Java
(3) Android Phone Programming
Course Contents
• Object-Orientation
• Objects and Classes
• Information Hiding
• Encapsulation
• Abstraction
• Inheritance
• Polymorphism
• Overloading vs Overriding
• General Java Programming
Books
 Java Advanced How to Program
By Deitel & Deitel
 Java 2--Complete Reference
By Herbert Schildt
 Object-Oriented Software Engineering
By Jacobson, Christerson, Jonsson, Overgaard

Lecture Notes
What is Object-Orientation?

• A technique for system modeling

• OO model consists of several interacting


objects
OOP and POP
• Difference between object-oriented
programming and procedure oriented
programming
• pop is based on function and oops is based on
classes and objects.
• Repeation of Code/ No data reusability
• No data hiding capability
• No clear readability
What is a Model?

• A model is an abstraction of something

• Purpose is to understand the product before


developing it
Examples – Model

• Highway maps

• Architectural models

• Mechanical models
Example – OO Model
…Example – OO Model
lives-in
• Objects Ali House
– Ali
drives
– House
– Car
Car Tree
– Tree
• Interactions
– Ali lives in the house
– Ali drives the car
Object-Orientation - Advantages

• People think in terms of objects

• OO models map to reality

• Therefore, OO models are


– easy to develop
– easy to understand
What is an Object?

An object is

• Something tangible/Real (Ali, Car)

• Something that can be captured intelligently


(Time, Date)
… What is an Object?

An object has

• State (attributes)
• Well-defined behaviour (operations)
• Unique identity
• What is the relationship between a class and
an object?

• A class acts as a blue-print that defines the


properties, states, and behaviors that are
common to a number of objects.
Example – Ali is a Tangible/Real Object
• State (attributes)
– Name
– Age
• behaviour (operations)
– Walks
– Eats
• Identity
– His name
Example – Car is a Tangible Object
• State (attributes)
- Color
- Model
• behaviour (operations)
- Accelerate - Start Car
- Change Gear
• Identity
- Its registration number
Example – Time is an Object Apprehended
Intellectually
• State (attributes)
- Hours - Seconds
- Minutes
• behaviour (operations)
- Set Hours - Set Seconds
- Set Minutes
• Identity
- Would have a unique ID in the model
Example – Date is an Object Apprehended
Intellectually
• State (attributes)
- Year - Day
- Month
• behaviour (operations)
- Set Year - Set Day
- Set Month
• Identity
- Would have a unique ID in the model
Revision
• Object − Objects have states and behaviors. Example: A dog has
states - color, name, breed as well as behavior such as wagging
their tail, barking, eating. An object is an instance of a class.
• Class − A class can be defined as a template/blueprint that
describes the behavior/state that the object of its type supports.
• Methods − A method is basically a behavior. A class can contain
many methods. It is in methods where the logics are written,
data is manipulated and all the actions are executed.
• Instance Variables − Each object has its unique set of instance
variables. An object's state is created by the values assigned to
these instance variables.
Information Hiding

• Information is stored within the object

• It is hidden from the outside world

• It can only be manipulated by the object itself


Example – Information Hiding

• Ali’s name is stored within his brain

• We can’t access his name directly

• Rather we can ask him to tell his name


Information Hiding Advantages

• Simplifies the model by hiding implementation


details

• It is a barrier against change propagation


Encapsulation

• Data and behaviour are tightly coupled inside


an object

• Both the information structure and


implementation details of its operations are
hidden from the outer world
Example – Encapsulation

• Ali stores his personal information and knows


how to translate it to the desired language

• We don’t know
– How the data is stored
– How Ali translates this information
Other Example – Encapsulation
• A Phone stores phone numbers in digital
format and knows how to convert it into
human-readable characters

• We don’t know
– How the data is stored
– How it is converted to human-readable characters
Encapsulation – Advantages

• Simplicity and clarity

• Low complexity

• Better understanding
Basic features of OOPs
• Abstraction - Refers to the process of exposing
only the relevant and essential data to the
users without showing unnecessary
information.
• Polymorphism - Allows you to use an entity in
multiple forms.
• Encapsulation - Prevents the data from
unwanted access by binding of code and data
in a single unit called object.
Basic features of OOPs
• Inheritance - Promotes the reusability of code
and eliminates the use of redundant code.
• It is the property through which a child class
obtains all the features defined in its parent
class.
• Data reusability and Extensibility
Object has an Interface

• An object encapsulates data and behaviour


• So how objects interact with each other?
• Each object provides an interface (operations)
• Other objects communicate through this
interface
Example – Interface of a Car
• Steer Wheels
• Accelerate
• Change Gear
• Apply Brakes
• Turn Lights On/Off
Example – Interface of a Phone
• Input Number
• Place Call
• Disconnect Call
• Add number to address book
• Remove number
• Update number
Implementation
• Provides services offered by the object
interface

• This includes
– Data structures to hold object state
– Functionality that provides required services
Example – Implementation of Gear Box

• Data Structure
– Mechanical structure of gear box

• Functionality
– Mechanism to change gear
Example – Implementation of Address Book
in a Phone

• Data Structure
– SIM card

• Functionality
– Read/write circuitry
Questions !

You might also like