آدرس

تهران، خیابان شریعتی، بالاتر از سه راه ملک، روبروی آتش نشانی

شماره تماس

۰۹۱۹۳۴۲۶۲۵۱
۰۲۱۹۱۳۰۳۴۲۴

آدرس ایمیل

info@artarasaneh.com
artarasaneh@gmail.com

آموزش برنامه نویسی جاوا اسکریپت-جلسه بیست و چهارم

آموزش برنامه نویسی جاوا اسکریپت-جلسه بیست و چهارم

آموزش برنامه نویسی جاوا اسکریپت-جلسه بیست و چهارم

شی گرایی   (object oriented programming)  

شی گرایی یک شیوه برنامه نویسی است که در اکثر زبان های برنامه نویسی استفاده می شود. در این شیوه برنامه نویسی ، برنامه نویس هرمفهومی که میخواهد پیاده سازی کند  به صورت شی(object) می بیند و هر شی یک سری خصوصیات(properties)و رفتارهایی)   (Methodsدارد. مثلا وسایل نقلیه رو در نظر بگیریم. خب وسایل نقلیه می توانند به شاخه های مختلف طبقه بندی شوند مثلا وسایل نقلیه بدون چرخ ، وسایل نقلیه چرخ دار؛ حال این ها نیز زیر مجموعه های خود را دارند که هر کدام برای خودش یک شی محسوب می شود که از شی والد یعنی وسایل نقلیه خصوصیاتی را به ارث می برد. حالا اگر بخواهیم برای خودروها یک برنامه بنویسیم ، خودرو می شود شی، شی در برنامه نویسی با classمشخص می شود ، گفتیم که هر شی یک سری خصوصیات دارد و یک سری رفتارها. خصوصیات عملی را انجام نمی دهند و صفت هستند مثلا رنگ ماشین ، وزن ماشین. رفتارها عمل هستند مثل حرکت کردن یا ترمز گرفتن .  

مفهوم وراثت (inheritance)  

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

مفهوم چندریختی (polymorphism)  

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

مفهوم کپسوله سازی (Encapulation)  

  یک سری خصوصیات برای هر شی تعریف می شود که فقط تو اون شی قابل استفاده باشه تو بقیه اشیاء مهم نباشه.  

مفهوم انتزاع (Abstraction)  

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

Object Definitions  

Objectرا می توان به صورت های مختلف تعریف کرد:  

const person = {};   
person.firstName = John;   
person.lastName = Doe;   
person.age = 50;   
person.eyeColor = blue;  

 

const   person = {   
  firstName: John,   
  lastName: Doe,   
  age: 50,   
  eyeColor: blue   
};  

یا به این صورت :   

const person = {};   
person.firstName = John;   
person.lastName = Doe;   
person.age = 50;   
person.eyeColor = blue;  

 

حتی میتوانیم به صورت آبجکت جدید ی تعریفش کنیم:  

const   person = new   Object();   
person.firstName  John;   
person.lastName  Doe;   
person.age  50;   
person.eyeColor  blue;  

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

objectName.property  

objectName[property]  

objectName[expression]  

حتی می توان با حلقه for inهم به آبجکت دسترسی پیدا کرد.  

Deleting properties  

برای حذف یک خصوصیت میتوان از کلمه deleting استفاده کرد.  

const   person = {   
  firstName: John,   
  lastName: Doe,   
  age: 50,   
  eyeColor: blue   
};   

delete   person.age;  

Nested Objects  

می توان آبجکت را به صورت تو در تو تعریف کرد   

myObj = {   
  name:John,   
  age:30,   
  cars: {   
    car1:Ford,   
    car2:BMW,   
    car3:Fiat   
  }   
}  

برای دسترسی به خصوصیت های این آبجکت به صورت زیر می توان عمل کرد :  

myObj.cars.car2;  

هم چنین مقادیر یک آبجکت میتونه به صورت آرایه باشه و مقادیر داخل آرایه یک آبجکت میتونه باشه. اوصولا برای دسترسی به آیتم ها در این حالت باید از حلقه For inاستفاده کنیم.  

Object Method  

const  person = {   
  firstName: John,   
  lastName: Doe,   
  id: 5566,   
  fullName: function() {   
    return   this.firstName    this.lastName;   
  }   
};  

متد fullNameبرای چاپ اسم و فامیلی استفاده شده در این مثال . کلمه thisهم به خود آبجکت اشاره داره.  

Object.values()  

مقادیر رو برمی گردونه   

JSON.stringify()  

مقادیر را به صورت آبجکت برمی گردونه .  

 

اشتراک گذاری :
مریم گوهرزاد
نویسنده

مریم گوهرزاد

مدرس و بنیانگذار هلدینگ آرتا رسانه. برنامه نویس و محقق حوزه بلاکچین

https://t.me/artarasaneh
tel:09193426251
https://wa.me/+989193426251
https://instagram.com/artarasaneh_com