[go: up one dir, main page]

0% found this document useful (0 votes)
38 views19 pages

CMSC 203 Module 1

Uploaded by

Francis Mistica
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)
38 views19 pages

CMSC 203 Module 1

Uploaded by

Francis Mistica
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/ 19

Introduction to Object-Oriented

Programming
CMSC 203 – Object-Oriented Programming
Module 1
Programming Paradigm
• Fundamental style or approach
• Dictates how developers write and structure code
Procedural Programming
• Based on the concepts of procedure calls.
• Program is composed of a series of procedure.
Characteristics of Procedural
Programming
• Sequential
• Functions and Procedures
• Global State
Functional Programming
• Treats computation as the evaluation of mathematical
functions.
• Avoid changing-state and mutable data
Characteristics of Functional
Programming
• Immutability
• First Class Function
• Pure Functions
Object-Oriented Programming
• Organizes software around data, or objects, rather than
functions and logics.
Characteristics of Object-Oriented
Programming
• Encapsulation
• Inheritance
• Polymorphism
• Abstraction
Event-Driven Programming
• The flow of program is determined by events such as
user actions, sensor outputs, or message passing.
Characteristics of Event-Driven
Programming
• Event Handlers
• Event Loop
• Asynchronous Execution
Origins of OOP
Simula (1960s)
• Ole-Johan Dahl and Kristen Nygaard
• Introduced foundational concepts like classes, objects,
inheritance, and polymorphism.
• Laying the foundation for future OOP Languages
Smalltalk (1970s)
• Alan Kay
• The first pure object-oriented programming
• Message Passing between Objects
• Introduce dynamic typing
• Solidifying OOP principles
Rise of OOP
C++ (1980s)
• Bjarne Stroustrup
• Combined the efficiency of C with object-oriented
features.
• Introduced constructors, deconstructors, and operator
overloading.
Objective C
• Brad Cox and Tom Love
• Combined Smalltalk’s object-oriented capabilities with
the C programming language
• The primary language for Apple software development
for many years.
Modern Era of OOP
Java (1990s)
• James Gosling
• Introduced features like automatic garbage collection
and a rich standard library
• Further popularizing OOP concepts
Python and Other Languages
• Evolved to effectively support OOP principles
• Expanded upon OOP principles, leading to their
widespread adoption in modern software development.
Advantages of OOP

• Modularity through Encapsulation


• Code Reusability
• Scalability
• Maintainability
• Flexibility through Polymorphism
• Real-World Modeling
• Improved Collaboration
• Security
THANKS!
CREDITS: This presentation template was created by Slidesgo, and
includes icons by Flaticon, and infographics & images by Freepik

You might also like