دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۴
  • آبان

جلسه ۶۲ : سازنده اشیا در جاوا اسکریپت

  • دسته‌بندی‌ها :
جلسه ۶۲ : سازنده اشیا در جاوا اسکریپت
    • جزئیات
    • نوع محتواآموزش تصویری

      با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
      در این جلسه قصد داریم تا به مبحث سازنده اشیا در جاوا اسکریپت JavaScript و اضافه کردن متد به شی بپردازیم.

      سازنده ها (Constructor) توابعی هستند که به عنوان طرحی برای ایجاد چندین شی هم نوع object استفاده می شوند.

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

      سازنده اشیا در جاوا اسکریپت

      در مثال زیر ما تابع سازنده را تعریف می کنیم(بهتر است تا نام تابع سازنده با یک حرف بزرگ آغاز شود) :

      مثال : سازنده ی اشیاء
      خودتان امتحان کنید »

      در مثال زیر ما دو شی از کلاس person ایحاد کرده ایم:

      مثال : ایجاد دو شیء از کلاس Person
      خودتان امتحان کنید »

      کلمه ی کلیدی this

      در جاوا اسکریپت، چیزی که this نامیده می شود،آبجکتی است که کد آن را “دارا” است.

      ارزش this ، هنگامی که در یک شی مورد استفاده قرار می گیرد، خود شیء است.

      در یک تابع سازنده this ارزش ندارد. this یک جایگزین برای شی جدید است. هنگامی که یک شیء جدید ایجاد می شود، ارزش this شی جدید می شود.

      نکته : توجه داشته باشید که this یک متغیر نیست بلکه یک کلمه کلیدی می باشد که شما نمی توانید مقدار آن را تغیر دهید.

      اضافه کردن یک خاصیت به شی

      در کد زیر ما خاصیت nationality را فقط به شی myFather (نه myMother) اضافه می کنیم:

      مثال : افزودن خصوصیت به آبجکت
      خودتان امتحان کنید »

      اضافه کردن متد به شی

      اضافه کردن متد به یک شی موجود نیز کار ساده ای است:

      مثال : افزودن یک متد به یک آبجکت
      خودتان امتحان کنید »

      افزودن یک خصوصیت به یک سازنده

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

      مثال : افزودن خصوصیت به یک سازنده
      خودتان امتحان کنید »

      نکته: ما هرگر نمی توانیم خاصیت یا متدی را به صورت زیر به سازنده اضافه کنیم:

      مثال : 

      تنها راه اضافه کردن خاصیت و متد به سازنده تعریف آن در بدنه تابع سازنده می باشد.

      برای افزودن یک خصوصیت به یک سازنده باید آن را داخل تابع سازنده اضافه کنید

      مثال : افزودن خصوصیت داخل تابع سازنده
      خودتان امتحان کنید »

      با این روش خصوصیات آبجکت می تواند مقادیر پیش فرض داشته باشد.

      افزودن یک متد به سازنده

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

      مثال : افزودن متد به سازنده تابع
      خودتان امتحان کنید »

      شما نمی توانید یک متد جدید را به سازنده شیء اضافه کنید همانطور که متد جدیدی را به یک شیء موجود اضافه می کنید.

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

      مثال : افزودن متدها داخل تابع سازنده

      تابع ()changeName  مقدار name را به خصویت lastName شخص اختصاص می دهد.

      مثال : متد changeName
      خودتان امتحان کنید »

      جاوا اسکریپت می داند که شما دارید در مورد جایگزینی this با myMother صحبت می کنید.

      سازنده های ساخته شده در جاوا اسکریپت

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

      مثال : سازنده گان جاوا اسکریپت
      خودتان امتحان کنید »

      آبجکت ()Math در لیست نیست. ()Math یک آبجکت عمومی است. کلید واژه this را نمی توان در ()Math استفاده کرد.

       

      اما بهتر است تا کار را برای خودمان سخت نگیریم و دلیلی وجود ندارد تا اشیا پیچیده ای ایجاد کنیم.

      بهتر است از جایگزین های زیر استفاده کنید :

      از object literal {} به جای ()new Object استفاده کنید.

      از “” به جای ()new String  استفاده کنید.

      به جای ()new Number، از عدد ۱۲۳۴۵ استفاده کنید.

      به جای ()new Boolean، با استفاده از اصطلاحات  true / false استفاده کنید.

      استفاده از [] به جای ()new Array.

      از الگوی / () / به جای ()RegExp  جدید استفاده کنید.

      از تابع () {} به جای ()new Function استفاده کنید.

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

      مثال : پیاده سازی مثال فوق بدون استفاده از سازنده
      خودتان امتحان کنید »

      اشیا string

      معمولا از دستور مقابل برای مقدار دهی به رشته ها استفاده می شود: “var firstName = “john

      اما رشته ها می توانند به عنوان شی نیز تعریف شوند: (“var firstName = new String(“john

      اشیا Number

      معمولا از دستور مقابل برای مقدار دهی به اعداد استفاده می شود: var x = 123

      اما اعداد می توانند به عنوان شی نیز تعریف شوند: (var x = new Number(123

      اشیا Boolean

      معمولا از دستور مقابل برای مقدار دهی به boolean استفاده می شود: var x = false

      اما boolean ها می توانند به عنوان شی نیز تعریف شوند: (var x = new Boolean(false

      جلسه آموزش توابع سازنده اشیا در جاوا اسکریپت به پایان رسید.

      QR:  جلسه ۶۲ : سازنده اشیا در جاوا اسکریپت
      به اشتراک بگذارید