آشنایی با مفاهیم و ویژگی‌های پایه شی‌گرایی


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

مفاهیم پایه شی گرایی در پایتون (OOP in Python)

همانطور که در درس قبلی از آموزش پایتون خدمتتان گفتیم، مفاهیم شی گرایی در برنامه نویسی مدرن بسیار حائز اهمیت است و ما قصد داریم با ارائه درس های کابردی شما را در این مسیر حرفه ای کنیم.

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

شی گرایی و اجزای تشکیل دهنده

شی گرایی در پایتون از اجزا مختلفی تشکیل شده است که به شرح زیر می باشد:

کلاس (class)
کلاس را نوع خاصی از آرایه می دانند. کلاس این امکان را فراهم می کند که تعداد زیادی المان برای یک شی جدید ذخیره شده و با یک نام مشترک ایجاد شود. کلاس تمامی جزئیات درباره یک شی را در بر دارد. رنگ، نام، اندازه و ... همگی می توانند ویژگی یک شی و جزو کلاس باشند.

در مثال زیر یک کلاس به نام person ایجاد کرده ایم و به وسیله آن نام و سن را نمایش می دهیم:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("Rose", 20)

print(p1.name)
print(p1.age)

وراثت (Inheritance)

وراثت یکی از مباحث بسیار مهم شی گرایی در پایتون است. هر شی موجود در برنامه یک نمونه از کلاس است. هر کلاس می تواند از کلاس های دیگر مشتق شود و خواص و ویژگی های آن ها را به ارث ببرد.
مزیت ارث بری در پایتون این است که شما دیگر نیازی به چندباره نویسی کد ها ندارید و می توانید کد ها را بدون ویرایش استفاده کنید. به کلاس مشتق شده از یک کلاس دیگر کلاس فرزند گفته می شود. به کلاسی که از آن مشتق گرفته می شود نیز کلاس والد گفته می شود.

مثال زیر یک نمونه از وراثت در پایتون است:

class Animal:  
    def speak(self):  
        print("Animal Speaking")  
#child class Dog inherits the base class Animal  
class Dog(Animal):  
    def bark(self):  
        print("dog barking")  
d = Dog()  
d.bark()  
d.speak()  

عبارات زیر خروجی این قطعه کد می باشد:  

Animal Speaking
dog barking
Animal speaking

کپسوله سازی (Encapsulation)

با استفاده از کپسوله سازی در شی گرایی در پایتون، می توانیم دسترسی به متد ها و متغیر ها را محدود کنیم و آن ها را از دید دیگران پنهان می کنیم. با استفاده از کپسوله سازی در پایتون، از ویرایش مستقیم کد ها جلوگیری می کنیم.
یک کلاس نمونه ای از کپسوله سازی است، زیرا تمام داده هایی که توابع عضو، متغیر ها و ... را کپسوله سازی می کند. از آن جایی که ما دسترسی به اصلاح کننده را در زبان برنامه نویسی پایتون نداریم، پس از روش های مختلفی برای کنترل دسترسی متغیر ها استفاده خواهیم کرد.
قطعه کد زیر یک نمونه از کپسوله سازی در شی گرایی در پایتون است:

 

lass Person:
    def __init__(self, name, age=0):
        self.name = name
        self.age = age
 
    def display(self):
        print(self.name)
        print(self.age)
 
person = Person('Mehdi', 44)
#accessing using class method
person.display()
#accessing directly from outside
print(person.name)
print(person.age)

خروجی این کد به صورت زیر است:

Mehdi
44
Mehdi
44

چند ریختی (polymorphism)

چندریختی نیز یکی دیگر از مباحث شی گرایی در پایتون است. به وسیله چند ریختی در پایتون، متد هایی را در کلاس فرزند تعریف می کنیم که همه آن ها همنام با کلاس والد هستند. با استفاده از چند ریختی می توان متدی را در کلاس فرزند که از کلاس والد به ارث برده است را تغییر داد.
در ادامه یک مثال ساده از چند ریختی در پایتون را آورده ایم:

 

>>>4+5
9
>>>”4”+”5”
45
>>>”ab”+”cd”
abcd 

در مثال بالا می بینیم که عملگر جمع به روش های مختلفی استفاده شده است.
در این درس به مفاهیم پایه شی گرایی در پایتون پرداختیم. با مباحث کپسوله سازی، چند ریختی و کلاس ها در پایتون آشنا شدیم و متوجه شدیم که این موارد مهم ترین موارد از مبحث شی گرایی در پایتون است. 


اگر از این درس استفاده کردید و آن را دوست داشتید، نظراتتان را با ما به اشتراک بگذارید و همچنین این درس را برای دوستانتان بفرستید تا آن ها نیز استفاده کنند.
در درس بعد به مبحث بسیار مهم شی گرایی می پردازیم. برای درک عمیق مبحث شی گرایی در پایتون و آمادگی برای درس بعد توصیه می کنیم فیلم درس در این صفحه را مشاهده کنید.

 


نظر بدهید نظر شما در تصمیم دیگران اثرگذار است. لطفا برای ما و همراهان درسمن نظر خود را بنویسید.
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.


مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات : جلسه
مدت زمان : 892 دقیقه
حجم دوره : 2/60 گیگابایت
سطح مهارت : مقدماتی تا متوسط
وضعیت دوره : پایان یافته
تعداد دانشجویان : 6199
: میانگین امتیاز
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و ....