نوشتن یک کلاس در پایتون :
یک کلاس در پایتون به عنوان یک قالب برای ایجاد شیء (object) به کار میرود. کلاس در پایتون شامل ویژگیها و رفتارهای مشخصی است که توسط شیءهایی که از آن ایجاد میشوند، به ارمغان میآورد. در این مقاله، نحوه نوشتن و استفاده از یک کلاس در پایتون را بررسی خواهیم کرد.
یک کلاس در پایتون با استفاده از کلیدواژهی class تعریف میشود. برای نمونه، یک کلاس ساده به نام Person را در نظر بگیرید که ویژگیهایی مانند نام، سن و شغل را داراست. برای تعریف این کلاس، میتوان به صورت زیر عمل کرد:
“`python
class Person:
def __init__(self, name, age, job):
self.name = name
self.age = age
self.job = job
“`
در این تعریف، متد __init__ یا همان constructor کلاس است. این متد در زمان ایجاد یک شیء از کلاس، به طور خودکار فراخوانی میشود و ویژگیهای اولیهی شیء را تعیین میکند. این متد همچنین یک پارامتر self دارد که به عنوان یک ارجاع به شیء فعلی عمل میکند.
بعد از تعریف کلاس، میتوان شیءهایی از آن ایجاد کرد. به عنوان مثال، میتوان یک شیء به نام person1 از کلاس Person ایجاد کرد و ویژگیهای آن را تنظیم کرد:
“`python
person1 = Person(“John Doe”, 30, “Engineer”)
“`
حالا میتوانیم به ویژگیهای شیء person1 دسترسی پیدا کنیم و آنها را چاپ کنیم:
“`python
print(person1.name)
print(person1.age)
print(person1.job)
“`
این دستورات به ترتیب نام، سن و شغل شیء person1 را چاپ خواهند کرد.
علاوه بر متد constructor، میتوانیم متدهای دیگری را نیز به کلاس اضافه کنیم. به عنوان مثال، یک متد به نام introduce را به کلاس Person اضافه میکنیم که اطلاعات شخص را چاپ میکند:
“`python
def introduce(self):
print(“My name is”, self.name)
print(“I am”, self.age, “years old”)
print(“I work as a”, self.job)
“`
حالا میتوانیم این متد را بر روی شیء person1 فراخوانی کنیم:
“`python
person1.introduce()
“`
این دستورات اطلاعات شخص را چاپ خواهند کرد. به عنوان مثال، خروجی ممکن است به شکل زیر باشد:
“`
My name is John Doe
I am 30 years old
I work as a Engineer
“`
با استفاده از کلاسها، میتوانیم الگوهای مشترک را در برنامهها تعریف کنیم و از آنها برای ایجاد شیءهای مختلف و استفاده از رفتارهای مشابه استفاده کنیم. این مفهوم از نظر قابلیت استفاده مجدد و سازماندهی کد بسیار مفید است و نقش مهمی در پارادایم شیءگرایی دارد.