برنامه نویسی

پایتون روز- 35 انتزاع ، محاصره

پیشنهاد ویژه

[button color="primary" size="big" link="https://nabfollower.com/buy-real-follower/" icon="" target="true" follow="false"]خرید فالوور واقعی[/button][button color="primary" size="big" link="https://nabfollower.com/buy-instagram-like/" icon="" target="true" follow="false"]خرید لایک اینستاگرام[/button][button color="primary" size="big" link="https://nabfollower.com/buy-instagram-views/" icon="" target="true" follow="false"]خرید ویو اینستاگرام[/button][button color="primary" size="big" link="https://nabfollower.com/" icon="" target="true" follow="false"]خرید فالوور اینستاگرام[/button]

انتزاع:

-> انتزاع برای پنهان کردن عملکرد داخلی عملکرد از کاربران استفاده می شود.
-> کاربران فقط با اجرای اصلی عملکرد تعامل دارند ، اما کار داخلی پنهان است.
-> کاربر با آن “آنچه عملکرد انجام می دهد” آشنا است اما آنها نمی دانند “چگونه این کار را انجام می دهد.”
-> انتزاع با استفاده از کلاسهای انتزاعی و روشهای انتزاعی اجرا می شود ، که توسط ماژول ABC (کلاس پایه) ارائه شده است.

کلاس انتزاعی کلاس است که نمی تواند فوری شود (یعنی شما نمی توانید یک شی از آن ایجاد کنید). روشهای انتزاعی نباید بدن داشته باشندpass باید داده شود

مثال: 1

from abc import *
class Demo(ABC):
    @abstractmethod
    def display(self):
        print("ABCD")

d = Demo()
d.display()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:

TypeError: Can't instantiate abstract class Demo without an implementation for abstract method 'display'
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال: 2

from abc import *
class Parent(ABC):
    @abstractmethod
    def study(self):
        pass

class Child(Parent):
    def study(self):
        print("Commerce")

child = Child()
child.study()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:
Commerce

مثال: 3

from abc import *
class Parent(ABC):
    @abstractmethod
    def study(self):
        pass

class Child(Parent):
    def study(self):
        print("Commerce")

    @abstractmethod
    def test(self):
        pass

class GrandChild(Child):
    def test(self):
        pass 
child = GrandChild()
child.study()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:
Commerce

محصور سازی:

محصور سازی به بسته بندی داده ها (متغیرها) و روش ها (توابع) به یک واحد (کلاس) واحد اشاره دارد و ضمن محدود کردن دسترسی مستقیم به برخی از جزئیات شی.

ویژگی های محصور سازی:

-> داده ها را از اصلاح تصادفی محافظت می کند
-> اجرای داخلی را پنهان می کند و فقط جزئیات لازم را در معرض نمایش می گذارد.

شرح تصویر

مثال:

class Infosys:
    employees_count = 100000
    _profit = 100
    __project_bid = 50

    def display(self):
        print(self.employees_count, self._profit, self.__project_bid)

inf = Infosys()
#inf.display()
print(inf.employees_count)
print(inf._profit)
print(inf.__project_bid)
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:

100000
100
AttributeError: 'Infosys' object has no attribute '__project_bid'
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا