Introduction to Object-Oriented Programming PDF
Document Details
Tags
Summary
This presentation provides an introduction to object-oriented programming (OOP). It covers different programming paradigms and their characteristics in detail. The document also explores the evolution of OOP languages and their advantages.
Full Transcript
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...
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