0% found this document useful (0 votes)
14 views13 pages

OOP Lec1

Uploaded by

ibnzafar0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views13 pages

OOP Lec1

Uploaded by

ibnzafar0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Object Oriented Programming (CS-409)

Course instructor: Mahnoor Hashmi


Qualification: MS from NUST
Specialization: Machine learning and Artificial Intelligence
Topics Covered

 Objects
 Object Oriented Design
 History of OOD
Object

• Object Oriented Programming is a programming pattern where the programs are


structured around objects rather than functions and logic
• In object-oriented programming (OOP), objects are the basic units of code that
have attributes and functions to carry out computations
• Objects are the building blocks of OOP applications
• An object is an instance of a class that contains data and functionality
Object

• An Object can be defined as an entity that has a state and behavior


• In other words, anything that exists physically in the world is called an object
• It can represent a dog, a person, a table, etc.
• An object means a combination of data and programs, which further represent an
entity
• Objects have properties, or data, that describe them. For example, a person's
name is a property of that person
Object

• Objects are created using classes, which define their structure


• Objects can interact with each other through defined interfaces. For
example, a person can get into a car and drive it
• Objects enable modular and organized code structure, and facilitate code
reusability and maintainability
Object
Object Oriented Design

• Object Oriented Design (OOD) is an approach for software design


• The process of planning a system of interacting objects for the purpose of solving a
software problem.
• Object Oriented Design (OOD) serves as part of the object oriented programming
(OOP) process
• Enables the implementation of a software based on the concepts of objects
• Associates the programmers to plan out their code in order to have a better flowing
program
Object Oriented Design
• It is the discipline of defining the identified and documented objects and their
interactions thus, solving the problems and meeting the user requirements.
• Object Oriented Design (OOD) is a method, depicting both logical and physical
models of the system under design.
• OOD put a great emphasis on the modularity, reusability, flexibility, and
scalability of system
• By encapsulating data and behavior into objects, OOD make software easier to
understand and maintain
History of OOD

• The origins of Object Oriented Design (OOD) are still debated


• Simula and SmallTalk, supported this framework
• Introduced by Grady Booch in the paper titled “Object-Oriented Design”, in
1982
• define the classes and their relationships, which are needed to build a system
that meets the requirements
Advantages of OOD

The benefits of this approach are numerous. Provided here some of the advantages of
using Object Oriented Design (OOD)
• Modularity
Programs can be divided into independent modules that can be developed, tested, and debugged
separately.

• Reusability
Classes and objects can be reused across different programs, which can improve efficiency and reduce
redundancy.
Advantages of OOD
• Maintainability
OOD's modularity and clear structure make it easier to maintain and modify existing code without
affecting other parts of the system.

• Flexibility and scalability


OOD supports system expansion by allowing new objects to be easily integrated without disrupting
existing functionality.

• Real-world modeling
OOD provides a way to model real-world entities and relationships, which can make the design
more intuitive.
Advantages of OOD

Some other advantages of using this approach include:


• Easier to maintain objects
• Objects may be understood as stand-alone entities
• Objects are appropriate reusable components

You might also like