Introduction
Object-Oriented Programming (OOP) stands as a cornerstone paradigm in Python, enabling the creation and organization of code through the interplay of classes and objects. This documentation provides an in-depth exploration of fundamental OOP principles and practices in the context of a virtual library.
1. Creating a Class
Consider a Python class modeling a Book entity within the vast expanse of a digital library:
# Example: Creating a Book Class
class Book: def init(self, title, author, pages): self.title = title self.author = author self.pages = pages
2. Attributes and Methods
Attributes capture the essence of an object, while methods encapsulate functionalities within the realm of literature:
# Accessing attributes and invoking methods
my_book = Book("The Enigmatic Codex", "J. Python", 300)
print(my_book.title) # Accessing attribute
3. Instantiation
Witness the birth of a literary masterpiece as a class is instantiated, giving life to a specific book :
# Example: Instantiating a Book
another_book = Book("Pythonic Chronicles", "A. Programmer", 250)
4. Inheritance
Extend the library metaphor by introducing a subclass for eBooks, inheriting the attributes of a Book:
# Example: Inheritance for eBooks
class EBook(Book): def init(self, title, author, pages, file_format) : super().init(title, author, pages) self.file_format = file_format
5. Encapsulation
Imagine the security and order within a virtual library maintained through encapsulation :
# Example: Encapsulation in a Virtual Library
class VirtualLibrary: def init(self):
self.__book_collection = [] # Private attribute
def add_book(self, book):
self.__book_collection.append(book)
def get_book_collection(self): return self.__book_collection