فارسی
باز کردن در Telegram

پیام # 🐍 برنامه‌نویسی شی‌گرایی در پایتون

16 اکتبر 2025
Y
# 🐍 برنامه‌نویسی شی‌گرایی در پایتون ## 📌 مفهوم برنامه‌نویسی شی‌گرایی (OOP) برنامه‌نویسی شی‌گرایی یکی از محبوب‌ترین پارادایم‌های برنامه‌نویسی است که به ما کمک می‌کند کد خود را منظم‌تر، قابل استفاده مجدد و قابل نگهداری‌تر بنویسیم. در OOP، ما دنیای واقعی را با اشیاء (Objects) و کلاس‌ها (Classes) مدل‌سازی می‌کنیم. --- ## 🎯 چهار اصل اساسی OOP ### 1️⃣ کپسوله‌سازی (Encapsulation) پنهان‌سازی داده‌های داخلی و نمایش فقط آنچه لازم است. class BankAccount: def __init__(self, owner, balance): self.owner = owner self.__balance = balance # Private attribute def deposit(self, amount): if amount > 0: self.__balance += amount return True return False def get_balance(self): return self.__balance # استفاده account = BankAccount("علی", 1000) account.deposit(500) print(account.get_balance()) # 1500 ### 2️⃣ وراثت (Inheritance) قابلیت ارث‌بری ویژگی‌ها از کلاس والد. class Animal: def __init__(self, name): self.name = name def speak(self): pass class Dog(Animal): def speak(self): return f"{self.name} میگه: واق واق! 🐕" class Cat(Animal): def speak(self): return f"{self.name} میگه: میو میو! 🐱" # استفاده dog = Dog("سگی") cat = Cat("گربه‌ای") print(dog.speak()) print(cat.speak()) ### 3️⃣ چندریختی (Polymorphism) توانایی استفاده از یک رابط واحد برای انواع مختلف. class Shape: def area(self): pass class Rectangle(Shape): def __init__(self, width, height): self.width = width self.height = height def area(self): return self.width * self.height class Circle(Shape): def __init__(self, radius): self.radius = radius def area(self): return 3.14 * self.radius ** 2 # استفاده shapes = [Rectangle(5, 3), Circle(4)] for shape in shapes: print(f"مساحت: {shape.area()}") ### 4️⃣ انتزاع (Abstraction) پنهان‌سازی جزئیات پیچیده و نمایش فقط ویژگی‌های ضروری. from abc import ABC, abstractmethod class PaymentProcessor(ABC): @abstractmethod def process_payment(self, amount): pass class CreditCardPayment(PaymentProcessor): def process_payment(self, amount): return f"پرداخت {amount} تومان با کارت اعتباری انجام شد ✅" class PayPalPayment(PaymentProcessor): def process_payment(self, amount): return f"پرداخت {amount} تومان با PayPal انجام شد ✅" --- ## 💡 مثال کاربردی: سیستم مدیریت کتابخانه class Book: def __init__(self, title, author, isbn): self.title = title self.author = author self.isbn = isbn self.is_borrowed = False def borrow(self): if not self.is_borrowed: self.is_borrowed = True return f"کتاب '{self.title}' قرض گرفته شد ✅" return "این کتاب در دسترس نیست ❌" def return_book(self): self.is_borrowed = False return f"کتاب '{self.title}' برگردانده شد ✅" class Member: def __init__(self, name, member_id): self.name = name self.member_id = member_id self.borrowed_books = [] def borrow_book(self, book): if len(self.borrowed_books) < 3: result = book.borrow() if "✅" in result: self.borrowed_books.append(book) return result return "شما بیش از 3 کتاب نمی‌توانید قرض بگیرید!" class Library: def __init__(self, name): self.name = name self.books = [] self.members = [] def add_book(self, book): self.books.append(book) def register_member(self, member): self.members.append(member) def show_available_books(self): available = [book.title for book in self.books if not book.is_borrowed] return f"کتاب‌های موجود: {', '.join(available)}" # استفاده library = Library("کتابخانه مرکزی") book1 = Book("تمیز کدنویسی", "رابرت مارتین", "12345") member1 = Member("محمد", "M001") library.add_book(book1) library.register_member(member1) print(member1.borrow_book(book1)) --- ## ✨ مزایای OOP

در همان حوالی فید

این پیام
YYosef Ebrahimi✅ **قابلیت استفاده مجدد**: کد یک‌بار نوشته می‌شود و چندین بار استفاده می‌شود ✅ نگهداری آسان‌تر: تغییرات در یک قسمت، بقیه را تحت تاثیر قرار نمی‌دهد ✅ مدل‌سازی وا
PPython پرسمانPython پرسمان@PythonCht · گروه · فناوری
984عضو8نویسنده در 30 روز
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما