پایتون

جلسه ۳۵: پیاده‌سازی خصوصیات در یک کلاس در پایتون

در این درس یاد میگیریم که چگونه هم در کلاس هم در خارج از آن، خصوصیاتی را بسازیم و اینکه چگونه به آن‌ها دسترسی داشته باشیم.

با استفاده از مفاهیم درس قبلی، ما یک کلاس Employee را در پایتون پیاده‌سازی خواهیم کرد.

پیاده‌سازی کلاس Employee

حال قصد داریم که کلاس Employee را به صورت شکل زیر پیاده‌سازی کنیم. ما برای شروع ابتدا خصوصیات را ابتدا به کلاس اضافه میکنیم و بعدا آن را گسترش میدهیم و متدهای مدنظر را هم اضافه میکنیم.

# this code will compile
class Employee:
    # defining the properties and assigning them none
    ID = None
    salary = None
    department = None

ما سه خصوصیت را به عنوان متغیر کلاسی برای کلاس Employee تعریف کرده‌ایم: id, salary و department. در مورد مفاهیم متغیرهای کلاسی بعدا صحبت خواهیم کرد. اما اکنون بر سینتکس تمرکز میکنیم.

(توجه کنید که اگر شما مقادیر اولیه برای متغیرهایتان استفاده نکنید، پایتون برنامه شما را اجرا نخواهد کرد. تعیین مقدار اولیه برای متغیرها در کلاس‌ها ضروری است)

کدی که در تب دوم وجود دارد، اجرا نخواهد شد چراکه متغیرها مقادیری ندارند.

دسترسی به خصوصیات و تعیین مقدار

برای اینکه به یک متغیر از یک شی دسترسی داشته باشیم از نطقه (.) استفاده میکنیم.

object.property

دو راه برای تعیین مقدارهای خصوصیات یک کلاس وجود دارد:

  • تعیین مقدار زمانی که یک کلاس را تعریف میکنیم.
  • تعیین مقدار در کد اصلی برنامه.
class Employee:
    # defining the properties and assigning values to them
    ID = 3789
    salary = 2500
    department = "Human Resources"


# cerating an object of the Employee class
Steve = Employee()

# printing properties of Steve - an object of the Employee class
print("ID =", Steve.ID)
print("Salary", Steve.salary)
print("Department:", Steve.department)

ساخت خصوصیات در خارج از یک کلاس

پایتون یک زبان کاربرپسند است و قابلیت‌هایی را در اختیار کاربر قرار میدهد که معمولا اکثر زبان‌ها از آن پشتیبانی نمیکنند. و این گونه است که میتوانیم یک خصوصیت را برای یک شی در خارج از کلاس نیز تعریف کنیم. حال مثالی را بررسی میکنیم( البته با گسترش مثال قبلی یعنی کلاس Employee).

(خصوصیت title فقط به steve داده میشود و به بقیه شی‌های کلاس داده نمیشود. و آن ها فقط خصوصیاتی که داخل کلاس تعریف شده اند را خواهند داشت)

class Employee:
    # defining the properties and assigning them None
    ID = None
    salary = None
    department = None


# cerating an object of the Employee class
Steve = Employee()

# assigning values to properties of Steve - an object of the Employee class
Steve.ID = 3789
Steve.salary = 2500
Steve.department = "Human Resources"
# creating a new attribute for Steve
Steve.title = "Manager"

# Printing properties of Steve
print("ID =", Steve.ID)
print("Salary", Steve.salary)
print("Department:", Steve.department)
print("Title:", Steve.title)

چیزی که شما یاد گرفتید یک پیاده‌سازی ساده از یک کلاسی که فقط دارای یکسری خصوصیات بود. در درس بعدی یادمیگیریم که چگونه به یک یک شی مقادیر اولیه بدهیم.

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

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

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

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