جسٹاگرافک کلاس ورث

کلاس ورتارا

کلاس ورتارا بنانے کیلئے، درکار کلاس ورتارا استعمال کریں: extends کلیدواژه.

کلاس ورتارا بنانے کے لئے کلاس ورتارا کا استعمال کریں:

مثال

ایک نام کا کلاس 'Model' بنائیں جو 'Car' کلاس کی طویل کیوکٹیو میٹھودوں کو ورتارا کرے گا:

کلاس کار {
  کنسٹرکٹر(برینڈ) {
    اینڈی کارنیم = برینڈ;
  }
  پریزنٹ() {
    return 'مجھ کا آٹو موٹیو ' + this.carname;
  }
}
class Model extends Car {
  constructor(brand, mod) {
    super(brand);
    this.model = mod;
  }
  show() {
    return this.present() + ', it is a ' + this.model;
  }
}
let myCar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = myCar.show();

خود خود کوشا جوئی

super() مетод به کلاس پدر اشاره می‌کند.

با فراخوانی super() در روش، ما روش constructor پدر را فراخوانی کردیم و دسترسی به ویژگی‌ها و روش‌های پدر را به دست آوردیم.

ارث‌برداری برای استفاده مجدد از کد بسیار مفید است: در هنگام ایجاد یک کلاس جدید، ویژگی‌ها و روش‌های کلاس‌های موجود را استفاده می‌کنیم.

getter و setter

کلاس‌ها همچنین اجازه می‌دهند که از getter و setter استفاده کنید.

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

برای اضافه کردن getter و setter به کلاس، از get و set کلیدواژه.

مثال

getter و setter برای ویژگی "carname" ایجاد کنید:

کلاس کار {
  کنسٹرکٹر(برینڈ) {
    اینڈی کارنیم = برینڈ;
  }
  get cnam() {
    return this.carname;
  }
  set cnam(x) {
    this.carname = x;
  }
}
لیٹ می کار = نیو کار ("فورڈ");
document.getElementById("demo").innerHTML = myCar.cnam;

خود خود کوشا جوئی

تذکرہ:اگرچه getter یک روش است، وقتی می‌خواهید ارزش ویژگی را دریافت کنید، نباید از کروشه استفاده کنید.

نام روش getter/setter نمی‌تواند با نام ویژگی یکسان باشد، در این مثال carname.

بسیاری از برنامه‌نویسان از کاراکتر زیرخط _ در ابتدای نام ویژگی‌ها برای جدا کردن getter/setter از ویژگی واقعی استفاده می‌کنند:

مثال

می‌توانید از کاراکتر زیرخط برای جدا کردن getter/setter از ویژگی واقعی استفاده کنید:

کلاس کار {
  کنسٹرکٹر(برینڈ) {
    this._carname = brand;
  }
  get carname() {
    return this._carname;
  }
  سیٹ کارنیم(ایکس) {}}
    اینڈی کارنیم = ایکس;
  }
}
لیٹ می کار = نیو کار ("فورڈ");
ڈاکومن اگید ("ڈیمو").اینرلیچ (مائی کار.کارنیم);

خود خود کوشا جوئی

برای استفاده از setter، از همان نحوه‌ای که برای تنظیم ارزش ویژگی استفاده می‌کنید، بدون استفاده از کروشه استفاده کنید:

مثال

استفاده از setter برای تغییر نام خودرو به "Volvo":

کلاس کار {
  کنسٹرکٹر(برینڈ) {
    this._carname = brand;
  }
  get carname() {
    return this._carname;
  }
  سیٹ کارنیم(ایکس) {}}
    اینڈی کارنیم = ایکس;
  }
}
لیٹ می کار = نیو کار ("فورڈ");
مائی کار.کارنیم = "ولوو";
ڈاکومن اگید ("ڈیمو").اینرلیچ (مائی کار.کارنیم);

خود خود کوشا جوئی

بلند کرنا

فانکشن اور دیگر جسٹا سکریپٹ اعلانوں سے متضاد، کلاس کا اعلان کلاس کا اعلان نہیں بلند ہوتا ہے۔

یعنی آپ کو پہلے کلاس کو اعلان کرنا پڑتا ہے، بعد میں اس کا استعمال کرسکتے ہیں:

مثال

// آپ اب اس کلاس کا استعمال نہیں کرسکتے ہیں۔
// می کار = نیو کار ("فورڈ")
// یہ کچھ خطرہ پیش کر سکتا ہے.
کلاس کار {
  کنسٹرکٹر(برینڈ) {
    اینڈی کارنیم = برینڈ;
  }
}
// اب آپ میں اس کلاس کا استعمال کرسکتے ہیں:
لیٹ می کی کار = نیو کار ("فورڈ")

خود خود کوشا جوئی

تذکرہ:دوسرے اعلانوں، جیسے فانکشن، اعلان سے پہلے اس کا استعمال کرنے کی کوشش کی جب کچھ نہیں ہوتا، کیونکہ جسٹا سکریپٹ کا اعلان کا اصل طریقہ یہ ہوتا ہے کہ وہ اعلان کو اوپر بھیج دیا جاتا ہے (اعلان کو اوپر منتقل کر دیا جاتا ہے)。