Object-Oriented Programming
(OOP)
• OOPis a programming paradigm based on the
concept of 'objects'.
• Objects contain both data and methods that
operate on the data.
• Advantages: Modularity, Reusability, Security,
Maintainability.
• Key Principles: Encapsulation, Abstraction,
Inheritance, Polymorphism.
3.
Abstract Data Types(ADT)
• An Abstract Data Type defines a data structure
in terms of its behavior.
• It hides implementation details and exposes
only essential operations.
• Example: Stack, Queue, List are ADTs.
• Python Example:
• class Stack:
• def __init__(self):
• self.items = []
4.
Classes and Objects
•Class: Blueprint for creating objects.
• Object: Instance of a class containing data and
methods.
• Python Example:
• class Student:
• def __init__(self, name, rollno):
• self.name = name
• self.rollno = rollno
• def display(self):
5.
Encapsulation and Data
Abstraction
•Encapsulation: Binding data and methods
together into a single unit (class).
• Abstraction: Hiding internal implementation
details and showing only functionality.
• Python Example:
• class BankAccount:
• def __init__(self, balance):
• self.__balance = balance
• def deposit(self, amount):
6.
Inheritance
• Inheritance allowsone class to acquire
properties and behavior of another class.
• It promotes code reusability and extensibility.
• Types: Single, Multiple, Multilevel,
Hierarchical, Hybrid.
• Python Example:
• class Animal:
• def speak(self):
• print('Animal speaks')
7.
Namespace and ObjectOrientation
• Namespace: A container that holds identifiers
(variables, functions, classes).
• It ensures unique names and avoids conflicts.
• Object Orientation: Everything in Python is an
object, even functions and classes.
• Python Example:
• x = 10
• print(type(x))
8.
Conclusion
• OOP organizesprograms into reusable and
maintainable components.
• Abstraction and encapsulation improve
security and structure.
• Inheritance and polymorphism support code
reusability.
• Python provides a fully object-oriented
approach to programming.