• تهران -خیابان شریعتی - بالاتر از سه راه ملک - روبروی آتش نشانی - آرتارسانه
  • تلفن تماس: 02191303424

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

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

شی گرایی (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()

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