Lecture

How to Bundle Attributes and Methods with Encapsulation

Encapsulation refers to the bundling of an object's data (attributes) and the methods that operate on that data into a single unit.

This allows us to hide the object's internal implementation and protect the data from improper external access.

In Python, you can implement encapsulation by prefixing attribute names with __ to make them private attributes.

Encapsulation Example
class ClassName: # Constructor def __init__(self): # Private attribute self.__private_attr = 0

In the code above, __private_attr is a private attribute that cannot be accessed directly from outside the class.

It is customary to use two underscores (_) to define private attributes.


Role of Encapsulation

Encapsulation plays the following roles in object-oriented programming:

  • Providing an Interface: An interface is a point of interaction for different systems or objects. Through encapsulation, you can interact with objects using provided methods without needing to know how the object works internally.

  • Data Protection: It safeguards important data of the object from unauthorized access.


Example of Using Encapsulation

The following code example defines an Account class representing a bank account and safely manages the account balance through encapsulation.

Encapsulation Example
class Account: def __init__(self, balance): # Private attribute self.__balance = balance # Deposit method def deposit(self, amount): if amount > 0: self.__balance += amount return "Invalid deposit amount." # Balance inquiry method def get_balance(self): return f"Current balance: ${self.__balance}" # Create account with initial balance of $10000 account = Account(10000) # Deposit $5000 account.deposit(5000) # Check balance print(account.get_balance())

In this example, __balance is set as a private variable, making it inaccessible directly from outside the class.

Instead, you can safely manipulate or verify this variable through the deposit and get_balance methods.

Mission
0 / 1

In object-oriented programming, encapsulation refers to keeping the internal implementation details of an object exposed.

True
False

Lecture

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result