شی گرایی در جاوا اسکریپت ( قسمت اول)
زبان های برنامه نویسی شی گرا به دو صورت اشیا را میسازند.اگر myCar نمایش بیتی اتومبیل واقعی باشد پس دارای صفات رنگ و وزن بیتی و عمل های راندن و بوق زدن بیتی هم میباشد. در یک برنامه واقعی این اتومبیل را میتوان در یک بازی ماشین سواری که توسط یک بازی کن رانده میشود در نظر گرفت. حالا ما قصد داریم در باره استفاده این ماشین و رفتارش در برنامه صحبت کنیم.
اگر بخواهید از این شی ماشین در برنامه جاوا استفاده کنید باید قبل از آن یک طرح کلی را برایش تعریف کنید. این همان چیزی است که اکثر زبان های شی گرای مانند جاوا ان را کلاس مینامند.
اگر نیاز به یک شی ماشین داشته باشید به جاوا میگویید که یک نمونه با ویژگی های تعیین شده از طرح قبلی برایتان بسازد.
حالا این شی از تمام جنبه های کلاس استفاده میکند و از متدهایش به شکل زیر بهره میبرد.
myCar.honk();
مفسر جاوا با دیدن این دستور به کلاس ماشین رفته و تعیین میکند که باید چه دستوراتی را اجرا نماید.همان دستوراتی که در متد honk تعریف شده است.
حالا به جاوا اسکریپت میرویم.
جاوا اسکریپت چیزی به اسم کلاس ندارد ولی میتوانیم به مفسر آن بگوییم که اشیا را از روی یک طرح اولیه برای ما بسازد. این که بخواهیم برای هر شی صات و متدهای جدید تعریف کنیم آزار دهنده خواهد بود.
اگر در جاوا بخواهیم 30 تا شی ماشین بسازیم ، این رابطه کلاس-شی برای ما 30 ماشین با قابلیت راندن و بوق زدن که هر کدام 30 تا متد honk و drive را اجرا میکنند، فراهم میکند.
اما در جاوا اسکریپت چگونه به این هدف برسیم ؟ به جای رابطه کلاس-شی در جاوا اسکریپت رابطه شی-شی تعریف میشود.
منبع: iNote







