کلاس ها JavaScript

کلاس جاوا اسکریپت در ES6 2015 معرفی شد.

کلاس ها قالب هایی برای اشیاء جاوا اسکریپت هستند.

دستور زبان کلاس ها

برای ساخت کلاس از کلمه ی کلیدی class استفاده کرده و همیشه متدی به نام ()constructor اضافه می کنیم.

نحوه ی ساخت class:

class ClassName {
    constructor() { ... }
}

// ساخت یک کلاس
class Person {
    constructor(personName, personAge) {
        this.name = personName;
        this.age = personAge;
    }
}

نمونه کد بالا کلاسی به نام "Person" می سازد.

این کلاس دو ویژگی اولیه دارد:

  • name (نام)
  • age (سن)

نکته: کلاس ها Object نیستند. بلکه قالبی برای ساخت یک Object هستند.

استفاده از کلاس

زمانی که کلاس دارید می توانید از آن برای ساخت اشیاء استفاده کنید.

// ساخت اشخاص با استفاده از کلاس
const person1 = new Person('احسان', 31);
const person2 = new Person('نیما', 19);

نکته: وقتی یک شیء جدید با استفاده از کلاس ایجاد می‌ شود، متد constructor به طور خودکار فراخوانی می‌ شود.

متد constructor

متد constructor یک متد ویژه است که دارای ویژگی‌ های زیر است:

  • متد constructor باید دقیقاً نام "constructor" را داشته باشد. این نام مخصوص برای متد سازنده یک کلاس است.
  • متد constructor بدون نیاز به فراخوانی مستقیم، به طور خودکار اجرا می‌ شود.
  • متد constructor برای مقداردهی اولیه به ویژگی‌های شیء استفاده می‌ شود.
  • ویژگی‌ های ورودی متد constructor به عنوان پارامتر های ورودی برای ایجاد شیء استفاده می‌ شوند.

نکته: اگر شما یک متد constructor تعریف نکنید، جاوااسکریپت یک متد constructor خالی به صورت پیش‌ فرض اضافه می‌ کند. این متد خالی عملیات خاصی انجام نمی دهد، اما هنگام ایجاد شیء جدید به صورت خودکار فراخوانی می‌ شود.

متد های کلاس

در جاوااسکریپت، متدهای کلاس دقیقا با همان دستورالعملی که برای تعریف متدهای شیء استفاده می‌شود، ایجاد می‌ شوند.

برای ایجاد کلاس از کلمه کلیدی class استفاده کنید.

همیشه یک متد constructor تعریف کنید.

سپس هر تعداد متد که لازم دارید به کلاس اضافه کنید.

class ClassName {
    constructor() { ... }
    method_1() { ... }
    method_2() { ... }
    method_3() { ... }
}

// ساخت یک کلاس
class Person {
    constructor(personName, personAge) {
        this.name = personName;
        this.age = personAge;
    }

    // ساخت متد
    greet() {
        return `سلام، من ${this.name} هستم و ${this.age} سالمه.`
    }
}

// ساخت اشخاص با استفاده از کلاس
const person1 = new Person('احسان', 31);
const person2 = new Person('نیما', 19);

می توانید پارامترهایی به متد های کلاس ارسال کنید:

class Person {
    constructor(personName, personAge) {
        this.name = personName;
        this.age = personAge;
    }

    // ساخت متد
    changeName(newName) {
        this.name = newName;
    }
}

// ساخت اشخاص با استفاده از کلاس
const person1 = new Person('احسان', 31);
const person2 = new Person('نیما', 19);

// فراخوانی متد و ارسال پارامتر
person2.changeName('علی');

خلاصه درس

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

تمرین


مشاهده پاسخ
توسعه دهندگان
احسان اسلامی