آموزش طراحی سایت

این وبلاگ ، شامل آموزش کامل جاوا اسکریپت می باشد که توسط گروه غرب نت تهیه شده است.

آموزش طراحی سایت

این وبلاگ ، شامل آموزش کامل جاوا اسکریپت می باشد که توسط گروه غرب نت تهیه شده است.

شی گرایی در جاوا اسکریپت

مبحث شی گرایی در جاوا اسکریپت

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

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

مفهوم کلاس :

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

مفهوم شی :

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

مفهوم متد :

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

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

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

function  نام کلاس   ( Parameter1 , Parameter2 , ... )
  {
     this.نام خاصیت 1  =  Parameter1 ;
     this.نام خاصیت 2  =  Parameter2 ;
    .
    .
    .
  }

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

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

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

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

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

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

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

Example

<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>

کد

 

اشیای پیش ساخته در Java Script

شی string :

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

خواص شی string :

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

نام خاصیت

شرح

constructor

نام تابع سازنده شی مورد نظر را بر می گرداند .

length

تعداد کاراکترهای یک عبارت متنی را بر می گرداند .

prototype

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

 

خاصیت constructor :

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

Syntax

object.constructor
* object = نام شی مورد نظر

مثال : در مثال زیر با استفاده از تابع  string( ) یک شی string جدید به نام txtname ایجاد کرده ایم . به وسیله دستور document.write ، نوع تابع سازنده شی را نشان داده ایم :
نکته : توجه شود شکل صحیح نوشتاری تابع String با S بزرگ است .

Example

< script type="text/javascript" >
  var txtname = new String ( ) ;
  document.write ( txtname.constructor ) ;
< /script >

کد

 

خاصیت length  :

این خاصیت ، تعداد کاراکترها ( حرمف ) عبارت متنی را بر می گرداند . فاصله بین حروف نیز یک کاراکتر محسوب می شود . شکل کلی استفاده از این خاصیت به شرح زیر است :

Syntax

object.length

مثال : در مثال زیر یک متغیر رشته ای را تعریف و سپس به وسیله دستور document.write ، طول آن را نشان داده ایم :

Example

<script type="text/javascript">
  var name = "Gharbnet .ir" ;
  document.write ( name.length ) ;
</script>

کد

 

خاصیت prototype :

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

Syntax

object.prototype.name = value
* object = نام شی مورد نظر     name = نام خاصیت یا متد جدید     value = مقدار اولیه خاصیت جدید یا نام متد

مثال : در مثال زیر ابتدا یک کلاس به نام Student که دارای 3 خاصیت نام ( Name ) ، نام خواندگی ( Family ) و شماره دانشجویی ( ID ) است را ایجاد کرده و یک شی جدید به نام St 2 از روی آن ساخته ایم . سپس به کلاس یک خاصیت جدید به نام Major اضافه کرده ایم ، که قرار است رشته تحصیلی را برای دانشجو نگهداری کند . درپایان ، خاصیت جدید را برای شی St2 مقدار دهی کرده و آن را در خروجی نشان داده ایم :

Example

<script type="text/javascript">
  function Student ( n , f , i )
    {
      this.Name = n ;
      this.Family = f ;
      this.ID = i ;
    }
  var St2 = new   Student ( "Mehrdad" , "Fattahi" , 122092 ) ;
  Student.prototype.Major = null ;         Major ایجاد خاصیت جدید برای کلاس به نام
  St2.Major = "Soft Ware";             St2 مقدار دهی خاصیت جدید برای شی
  document.write ( St2.Major ) ;
</script>

کد

 

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.