فراخوانی obj کلاس خارج از کلاس در پایتون :
در زبان برنامه نویسی پایتون، میتوانیم از کلاسها برای تعریف و ایجاد اشیاء یا نمونههای مشخصی از یک کلاس استفاده کنیم. با ایجاد اشیاء، میتوانیم به ویژگیها و روشهای تعریف شده در کلاس دسترسی داشته باشیم و از آنها استفاده کنیم. اما در برخی موارد، احتیاج میشود که به اشیاء کلاس دسترسی خارج از کلاس نیز داشته باشیم. این موضوع با استفاده از فراخوانی obj کلاس خارج از کلاس در پایتون ممکن میشود.
برای فهم بهتر موضوع، ابتدا نحوه تعریف یک کلاس در پایتون را مرور میکنیم. برای تعریف یک کلاس در پایتون، از کلیدواژه class استفاده میکنیم. سپس نام کلاس را مشخص میکنیم و بلافاصله پس از نام، دستورات و ویژگیهای کلاس را مینویسیم. به عنوان مثال، برای تعریف یک کلاس به نام Person با دو ویژگی name و age، میتوانیم کد زیر را استفاده کنیم:
“`
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
“`
در کد فوق، دو ویژگی name و age در کلاس Person تعریف شدهاند. همچنین، متد __init__ که به عنوان سازنده کلاس و نقطه شروع ایجاد اشیاء استفاده میشود، نیز تعریف شده است.
حالا فرض کنید که یک نمونه از کلاس Person با نام p1 ساختهایم. به عنوان مثال:
“`
p1 = Person(“John”, 30)
“`
حالا میتوانیم به ویژگیها و روشهای کلاس Person از طریق نمونه p1 دسترسی پیدا کنیم. به عنوان مثال، میتوانیم ویژگی name را با استفاده از نمونه p1 به صورت زیر فراخوانی کنیم:
“`
print(p1.name)
“`
اما در برخی موارد، احتیاج میشود که به اشیاء کلاس دسترسی خارج از کلاس داشته باشیم. برای این منظور، میتوانیم از فراخوانی obj کلاس خارج از کلاس استفاده کنیم.
فراخوانی obj کلاس خارج از کلاس به این معنی است که به جای استفاده از نام نمونه، از نام کلاس برای دسترسی به اشیاء استفاده میشود. برای انجام این کار، کافیست نام کلاس را دنبالهای از نقاط (.) قرار دهیم و سپس نام ویژگی یا روش را مشخص کنیم. به عنوان مثال، برای فراخوانی ویژگی name از نمونه p1 با استفاده از فراخوانی obj کلاس خارج از کلاس، میتوانیم کد زیر را استفاده کنیم:
“`
print(Person.name)
“`
با استفاده از فراخوانی obj کلاس خارج از کلاس، میتوانیم به ویژگیها و روشهای کلاس بدون نیاز به نمونهها دسترسی داشته باشیم. اما باید توجه داشت که در این صورت، به دلیل عدم وجود نمونه، مقادیر ویژگیها برای همه اشیاء یکسان خواهد بود. بنابراین، فراخوانی obj کلاس خارج از کلاس در پایتون معمولاً در موارد خاص استفاده میشود و باید با دقت و احتیاط انجام شود.