درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
حسین احمدی
امتیاز: 215360
رتبه:3
343
265
413
2781
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر

برنامه نویسی شئ گرا در پایتون :: مقدمات و آشنایی با کلاس و شئ

تاریخ 16 ماه قبل
نظرات 1
بازدیدها 804
یکی از قابلیت های زبان پایتون امکان تعریف کلاس ها و ایجاد اشیاء از روی کلاس ها می باشد که اصطلاحاً به آن برنامه نویسی شئ گرا می گویند. در برنامه نویسی شئ گرا شما بوسیله امکاناتی که زبان برنامه نویسی در اختیار شما می گذارد می تواند مدل سازی نرم افزار را بر اساس موجودیت هایی که نقشی در نرم افزار دارند انجام دهید. اگر ما به اطراف خود نگاهی کنیم خواهیم دید که اشیاء زیادی در اطراف ما وجود دارند. مانند مانیتور، پرینتر، خودرویی که سوار می شویم و ...، هر شئ که برای ما قابل مشاهده و درک باشد شامل یکسری خصوصیت ها و یکسری رفتار است. خصوصیت های یک شئ، آن شئ را توصیف می کنند. برای مثال، شئ انسان رو بررسی می کنیم. یک انسان موجودیتی است که شامل یکسری خصوصیت ها است و همچنین یکسری توانایی انجام یکسری رفتارها را دارد. خصوصیت های یک انسان که او را توصیف می کنند می توانند رنگ چشم، رنگ مو، قد، وزن، ملیت و ... باشند. به این خصوصیت ها اصطلاحاً Attribute ها Property نیز گفته می شود. علاوه بر خصوصیت هایی که برای انسان تعریف شده، این انشان همانطور که گفته شد امکان انجام دادن یکسری رفتار یا Behavior را دارد، مانند صحبت کردن، راه رفتن، خندیدن. اما دلیل گفتن این توضیحات چه بود؟ در دنیای برنامه نویسی و در زبان های شئ گرا، زمانی که قصد مدل سازی یک موجودیت را داریم می بایست خصوصیات و رفتارهای یک شئ را مشخص کرده و در برنامه خود آن ها را مدل سازی کنیم. این مدل سازی بوسیله کلاس ها انجام می شود و بوسیله ایجاد شئ می توانیم از آن کلاس استفاده کنیم. در زیر تعریف کلاس و شئ را مشاهده می کنید:

  1. کلاس: زمانی که قصد استفاده از یک موجودیت را داریم، ابتدا باید یک مدل اولیه از آن تعریف کنیم که در زبان پایتون این کار بوسیله کلاس انجام می شود. اینطور می توان گفت که کلاس نمونه اولیه غیر قابل استفاده از یک موجودیت است، مانند نقشه خانه ای که بر روی کاغذ کشیده شده و قابل سکونت نیست، اما می توان از روی آن خانه مورد نظر را ساخت.
  2. شئ: شئ یک نمونه یا Instance از یک کلاس است که قابل استفاده می باشد. رابطه بین کلاس و شئ، مانند رابطه بین نقشه و خانه ساخته شده می باشد. شما از روی نقشه ای که کشیده شده، خانه را می سازید و در آن می توانید زندگی کنید.


تعریف کلاس در پایتون



برای تعریف کلاس ها در پایتون از دستور زیر استفاده می شود:

class Person:
    class body

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

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

در کد بالا همانطور که مشاهده می کنید برای کلاس Person یک تابع با نام init تعریف کردیم. در حقیقت تابع init تابعی است که در زمان ایجاد شئ به صورت خودکار فراخوانی می شود و بر اساس پارامتر هایی که برای آن مشخص شده شئ ایجاد شده مقدار دهی می شود. اولین پارامتر این تابع self است که اشاره دارد به شئ ای که از روی Person در حال ایجاد است و خصوصیت ها به پارامتر self مقدار دهی می شوند. در قدم بعدی باید یک شئ از روی کلاس Person ایجاد کنیم. برای اینکار دستور زیر را استفاده می کنیم:

>>> person = Person("Hossein","Ahmadi",30)

کد بالا یک شئ از نوع Person ایجاد کرده و خصوصیت های مورد نظر ما را مقدار دهی می کند. دقت کنید که به عنوان پارامتر ورودی مقداری برای self مشخص نشده، در حقیقت شما زمان ایجاد شئ تنها می بایست برای پارامتر های بعد از self مقدار مشخص کنید که در نمونه کد بالا مشخص است. مقدار self به صورت خودکار توسط مفسر پایتون مشخص می شود که شامل شئ ایجاد شده است. در قدم بعدی بعد از ایجاد شئ می توانیم به راحتی از شئ ایجاد شده استفاده کنیم:

>>> print(person.firstname)
Hossein

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


تعریف رفتار برای کلاس


برای تعریف یک رفتار داخل یک کلاس تنها کاری که باید انجام دهیم این است که داخل آن یک تابع تعریف کنیم، ولی با نامی غیر از init، برای مثال، تابعی با نام fullname تعریف می کنیم که مقدار firstname و lastname را یکجا نمایش دهد:

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

    def fullname(self):
        return self.firstname + " " + self.lastname

در مثال بالا تابعی با نام fullname تعریف کردیم، این تابع پارامتر ورودی ندارد (پارامتر self مانند تابع init توسط خود مفسر مقدار می شود و شامل شئ ایست که تابع بر روی آن فراخوانی می شود). در مثال زیر از تابع fullname استفاده می کنیم:

>>> person = Person("Hossein","Ahmadi",30)
>>> print(person.fullname())
Hossein Ahmadi

همانطور که مشاهده می کنید با اجرای کد بالا، عبارت Hossein Ahmadi که شامل نام و نام خانوادگی می باشد در خروجی نمایش داده می شود.

نویسنده: حسین احمدی
منبع: جزیره برنامه نویسی وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است
برچسب ها
ردیف عنوان
1 آموزش زبان پایتون :: قسمت اول - مقدمات و آشنایی اولیه با پایتون
2 آموزش زبان پایتون :: قسمت دوم - دانلود پایتون و نوشتن اولین برنامه
3 آموزش زبان پایتون :: قسمت سوم - آشنایی با ساختار اسکریپت های پایتون
4 آموزش زبان پایتون :: قسمت چهارم - نوع های داده در زبان پایتون
5 آموزش زبان پایتون :: قسمت پنجم - تبدیل نوع ها به یکدیگر
6 آموزش زبان پایتون :: قسمت ششم - عملگرها در پایتون
7 آموزش زبان پایتون :: قسمت هفتم - دستور if
8 آموزش زبان پایتون :: قسمت هشتم - حلقه ها
9 آموزش زبان پایتون :: قسمت نهم - نوع های عددی و توابع کار با اعداد
10 آموزش زبان پایتون :: قسمت دهم - کار با رشته ها و توابع مرتبط
11 آموزش زبان پایتون :: قسمت یازدهم - لیست ها
12 آموزش زبان پایتون :: قسمت دوازدهم - Tuple ها
13 آموزش زبان پایتون :: قسمت سیزدهم - دیکشنری ها (Dictionaries)
14 آموزش زبان پایتون :: قسمت چهاردهم - مجموعه ها (Sets)
15 آموزش زبان پایتون :: قسمت پانزدهم - تابع zip و پیمایش چند لیست به صورت همزمان
16 آموزش زبان پایتون :: قسمت پانزدهم - روش Comprehension برای ایجاد لیست ها، دیکشنری ها و مجموعه ها
17 آموزش زبان پایتون :: قسمت شانزدهم - توابع (Functions)
18 آموزش زبان پایتون :: قسمت هفدهم - Closure ها
19 آموزش زبان پایتون :: قسمت هجدهم - توابع بازگشتی (Recursive Functions)
20 آموزش زبان پایتون :: قسمت نوزدهم - ماژول ها (Modules)
21 آموزش زبان پایتون :: قسمت بیستم - پکیج ها (Packages)
22 برنامه نویسی شئ گرا در پایتون :: مقدمات و آشنایی با کلاس و شئ
دوره مجموعه کل دوره
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
  • واقعا عالی بود...
    ممنونم

برای ارسال نظر ابتدا به سایت وارد شوید