مقدمه ای بر مبحث شی گرایی

جاوا اسکریپت، یک زبان برنامه نویسی شی گرا یا ( Object Oriented Programming ) است . این زبان به برنامه نویس ، قابلیت استفاده از اشیای پیش ساخته و یا تعریف و ایجاد اشیای جدید مورد نیاز خود را می دهد.

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

مفهوم کلاس:

کلاس ( class )، اساسی ترین مفهوم شی گرایی است . یک کلاس یک الگو یا چهارچوب از پیش تعریف شده است که اشیا ( objects ) از روی آن ساخته می شوند . هر کلاس مجموعه ای از خواص ( Properties ) و متدها ( Methods ) است ، که کلاس آنها را به اشیایی که از رویش ساخته می شوند ، به ارث می دهد.

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

مثال ۲ : متغیرهای متنی یا string ، یکی از کلاس های پیش ساخته در جاوا اسکریپت است . در قسمت بعد با تمام خواص و متدهای آن آشنا خواهید شد.

مفهوم شی:

هر شی، یک نمونه ساخته شده از روی کلاس مادر است . شی خصوصیات و متدهای خود را از کلاس مادر به ارث می برد.

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

مثال : برای مثال ، هر دانشجو که از روی کلاس دانشجو ایجاد می شود ، دارای خاصیت های نام ، نام خواندگی ، شماره دانشجویی و … غیره مخصوص به خود است . گرچه مقدار این خواص در نمونه های مختلف دانشجوها ممکن است در برخی از آنها مثل نام یکسان و در برخی مثل شماره دانشجویی یکتا باشد ، ولی مقدار آن برای هر دانشجو جدا و متمایز است.

مفهوم متد:

متدها، عملیات یا رفتارهایی است که اشیا یک کلاس می توانند انجام دهند.

مثال: برای مثال هر دانشجو که از روی کلاس دانشجو ساخته می شود ، دارای عملیات های یکسانی مثل ثبت نام ، انتخاب واحد و … است.

نحوه تعریف یک کلاس و ایجاد یک شی جدید در جاوا اسکریپت :

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

برای ایجاد یک کلاس ، از واژه کلیدی function به شکل کلی زیر استفاده می شود:

function  نام کلاس   ( Parameter1 , Parameter2 , ... )

  {

     this.نام خاصیت ۱  =  Parameter1 ;

     this.نام خاصیت ۲  =  Parameter2 ;

    .

    .

    .

  }

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

سپس در بدنه دستورات کلاس برای تعریف و مقدار دهی هر یک از خواص اشیای کلاس ، از وایه کلیدی this به شکل کلی زیر استفاده می شود:

this.نام پارامتر = نام خاصیت

واژه کلیدی this ، در هر لحظه به شی جاری از کلاس که در آن لحظه در حال ساخت یا ویرایش است ، اشاره می کند.

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

var نام شی جدید = function نام کلاس ( Parameter1 Value , Parameter2 Value , … ) ;

برای دسترسی و مقدار دهی هر یک از خواص یک شی از روش کلی زیر استفاده می شود :

نام خاصیت . نام شی

مثال: در مثال زیر یک کلاس به نام student ایجاد کرده ایم . هر شی این کلاس ۳ خاصیت نام ( Name ) ، نام خواندگی ( Family ) و شماره دانشجویی ( ID ) را خواهد داشت . در هنگام فراخوانی کلاس برای ایجاد یک شی جدید ، مقادیر این ۳ خاصیت به ترتیب به پارامترهای n , f و i ارسال خواهند شد.

در مثال ، پس از تعریف کلاس به ایجاد یک شی جدید به نام St1 و مقدار دهی خواص آن پرداخته ایم . سپس توسط سه دستور چاپ در خروجی مشخصات کامل دانشجو جدید را در خروجی چاپ کرده ایم . در انتها هم شماره دانشجویی ، دانشجو مذکور را دوباره مقدار دهی کرده و مقدار جدید آن را چاپ کرده ایم:

<script type ="text/javascript">

  function Student ( n , f , i )

    {

      this.Name = n ;

      this.Family = f ;

      this.ID = i ;

    }

  var St1 = new Student ( "Mehrdad" , "Fattahi" , 122092 ) ;

  document.write ( "Name :" + St1.Name +"<br />");

  document.write ( "Family : " + St1.Family +"<br />");

  document.write ( "Studnet ID : " + St1 .ID +"<br />" );

  St1.ID = 299302 ;

  document.write ( "New Student ID : " + St1.ID ) ;

</script>

به این مقاله چه امتیازی می‌دهید؟
5/5 - (1 امتیاز)

دیدگاه خود را بیان کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

Shopping cart
There are no products in the cart!
question