Osztályok a javascriptben

A tervező létrehozása lehetővé teszi, hogy átláthatóbb munkát végezzen nagyszámú azonos (monoton) objektummal.

Objektumok tulajdonságai és módszerei

Amikor az objektumok létrejöttek <> vagy Object () révén, akkor a tulajdonságok neveinek ellenőrzése bonyolult. 10 vagy 20 azonos objektum létrehozása (például áruházban vagy játékobjektumban), hibát okozhat a tulajdonság nevében, ami helytelen szkript művelethez vezethet. Ez a probléma konstruktőrökkel megoldható.

konstruktőrök

Általában (de nem feltétlenül!) A függvény-konstruktort nagybetűvel hívják. Mint érvek, az objektum adott példányának jövőbeli tulajdonságai elhaladnak. A tulajdonságok a kulcsszóhoz való hozzáféréssel vannak megadva.

A konstruktor létrehozása után az új operátor létrehozza az egyes objektumokat, és felhívja a konstruktor funkciót.

Minta szerkesztő leírása

  1. funkció kártya (innen)
  2. ez.from = a;
  3. ezt;
  4. >
  5. var card1 = új kártya ("Washington", "Beijing");
  6. var card2 = új kártya ("Beijing", "Moscow");

A példában a Kártya () konstruktor jön létre, két kártya1 és kártya2 deklarálásra kerülnek, és a mozgáspontok neveivel létrehozott objektumok jönnek létre. Most már elérheti a card2 objektum tulajdonságait és tulajdonságait. card2.to egyenlő lesz a "Moszkva".

A szabványos adattípusok is konstruktorokkal rendelkeznek: Object (), String (), Number () és mások.

A beépített konstruktorok prototípusaihoz óvatosan kell dolgozni, nem feltétlenül szükséges új tulajdonságokat adni, például tömbökhöz. Általában a tulajdonságok / módszerek hozzáadása egyedi konstrukciókkal történik.

Példa a Card konstruktor prototípusának kezelésére

  1. Card.prototype.price = 2e5;
  2. figyelmeztetés (card2.price);

A prototípuson keresztül módszereket rendelhet az objektum példányokhoz. Ez nagyon kényelmes, mert a metódus végrehajtó funkcióját nem tárolják minden objektumban, hanem a konstruktor prototípusában hívják.

öröklés

  1. funkció kártya (innen)
  2. ez.from = a;
  3. ezt;
  4. >
  5. Card.prototype.show = függvény ()
  6. ehhez (var p ebben)
  7. console.log (ez [p]);
  8. >
  9. funkció SuperCard (a kommentártól kezdve)
  10. ez.from = a;
  11. ezt;
  12. = ez;
  13. >
  14. SuperCard.prototype = új kártya ("Beijing", "Moscow");
  15. SuperCard.prototype.constructor = SuperCar;
  16. var scard = új SuperCard ("St. Petersburg", "Moszkva", "Platzcard, №23");
  17. scard.show ();

A 9. sor leírja azt a konstruktort, amely kiterjeszti a kártyát. A kiterjesztés úgy történik, hogy a kártya objektum példányát hozzárendeli a konstruktor prototípusához. Most, a show () metódusra hivatkozva a scard objektumból, a szülő show () metódust hívjuk.

Standard típusok kiterjesztése

A prototípus segítségével új tulajdonságokat vagy módszereket adhat hozzá a standard típusok összes objektumához. A szabványos konstruktorok ötletének kiterjesztése nem mindig jó - a konstruktor minden tárgya új tulajdonságokat szerez.

Az operátor példánya

Annak ellenőrzéséhez, hogy egy objektumot létrehozott-e egy adott konstruktornál, használja az instanceof operátort

Ellenőrzési példa

  1. riasztás (Scard instanceof SuperCard);
  2. figyelmeztetés (Scard instanceof Card);

Kapcsolódó cikkek