آموزش جاوا اسکریپت پیشرفته : کلاسها در جاوااسکریپت
در مقاله قبلی، برخی از مفاهیم اولیه برنامهنویسی شیگرا (OOP) را معرفی کردیم و مثالی را مورد بحث قرار دادیم که در آن از اصول OOP برای مدلسازی اساتید و دانشآموزان در یک مدرسه استفاده کردیم.
همچنین در مورد چگونگی امکان استفاده از نمونههای اولیه و سازندهها برای پیادهسازی مدلی مانند این صحبت کردیم و اینکه جاوا اسکریپت همچنین ویژگیهایی را ارائه میدهد که به مفاهیم کلاسیک OOP نزدیکتر نگاشت میشوند.
در این مقاله، این ویژگیها را بررسی خواهیم کرد. شایان ذکر است که ویژگیهای شرح داده شده در اینجا روش جدیدی برای ترکیب اشیاء نیستند: در باطن، آنها هنوز از نمونههای اولیه استفاده میکنند. آنها فقط راهی برای آسانتر کردن راهاندازی یک زنجیره نمونه اولیه هستند.
شما میتوانید با استفاده از کلمه کلیدی class یک کلاس تعریف کنید. در اینجا یک تعریف کلاس برای Person از مقاله قبلی آورده شده است:
این یک کلاس به نام Person را تعریف میکند، با:
یک ویژگی name.
یک سازنده که یک پارامتر name میگیرد که برای مقداردهی اولیه ویژگی name شیء جدید استفاده میشود.
یک متد که میتواند با استفاده از this به ویژگیهای شیء اشاره کند.
اعلان name اختیاری است: میتوانید آن را حذف کنید، و خط در سازنده، ویژگی name را قبل از مقداردهی اولیه آن ایجاد میکند. با این حال، فهرست کردن صریح ویژگیها در اعلان کلاس ممکن است برای افرادی که کد شما را میخوانند، دیدن اینکه کدام ویژگیها بخشی از این کلاس هستند را آسانتر کند.
همچنین میتوانید هنگام اعلام آن، با خطی مانند ، ویژگی را با یک مقدار پیشفرض مقداردهی اولیه کنید.
سازنده با استفاده از کلمه کلیدی constructor تعریف میشود. درست مانند یک سازنده خارج از تعریف کلاس، این کار را انجام میدهد:
یک شیء جدید ایجاد میکند
این را به شیء جدید متصل میکند، بنابراین میتوانید در کد سازنده خود به این اشاره کنید
کد را در سازنده اجرا کنید
شیء جدید را برگردانید.
با توجه به کد اعلان کلاس بالا، میتوانید یک نمونه Person جدید مانند این ایجاد و استفاده کنید: