If you're seeing this message, it means we're having trouble loading external resources on our website.

Ha webszűrőt használsz, győződj meg róla, hogy a *.kastatic.org és a *.kasandbox.org nincsenek blokkolva.

Fő tartalom

Tanári útmutató: Bevezetés a JS-be – Objektum-orientált tervezés

Az alábbiakban a Bevezetés a JS-be kurzus Objektum-orientált programozás című fejezetéhez készült tanári segédletünket olvashatod.

Mit fognak megtanulni a diákok?

  • Hogyan definiálhatnak objektumokat a JavaScript prototípus rendszerének használatával, hogy adott objektum több példányát is létrehozhassák programjukban.
  • Hogyan hozhatnak létre az objektumokhoz metódusokat, amiket az összes példány tud használni.
  • Hogyan definiálhatnak olyan objektumot, ami egy másikból öröklődik - ezáltal a szülő metódusait is tudja használni, úgy, hogy közben saját, újabb metódusokat is definiálhatunk nekik.

A diákok az alábbiakhoz hasonló kódok megírására lesznek képesek:

Mi okozhat nehézséget a diákoknak?

  • A legtöbb diáknak gondot okozhat az objektum-orientált programozás fogalmának és szintaktikájának megértése JavaScriptben. Az objektum-orientált programozás számos programnyelvben alkalmazott technika, de a JavaScriptben különösen trükkös.
  • A diákban felmerülhet a kérdés, miért ilyen fontos az objektum-orientált programozás, és megéri-e energiát fektetni a megtanulásába. Az OO olyan technika, amely a programok méretének és komplexitásának növekedésével egyre fontosabbá válik, és különösen hasznos azon programtípusok esetén, amelyek népszerűek a Khan Academyn – például a játékok és természet-szimulációk. Ezek a programok mind tartalmaznak objektumokat fogalmi szinten – például akadályokat és avatárokat a játékokban, részecskéket és kibocsátókat a szimulációkban. Lehet programokat írni kizárólag függvények használatával, de gyakran egyszerűbb ezeket objektum-orientált szemléletet használva megírni, mert így könnyen újrahasználhatunk hasonló funkciókat a hasonló objektumokon.
  • Sok diáknak fejtörést okoz a this kulcsszó használata. Az objektum ezzel hivatkozik önmagára – más programnyelvekben ez self vagy me. Ezt kell használnunk akkor, amikor egy olyan változót szeretnénk elérni, ami az objektum egyik tulajdonsága, nem pedig lokális vagy globális változó.
  • A diákok összekeverhetik az objektum definícióját az objektum példányaival. A megkülönböztetésben segíthet, ha odafigyelnek a kisbetű-nagybetűkre. Nagybetűt használunk az objektum-típusok definiálásához, mint például a Winston, és kisbetűt, amikor példányokat hozunk létre a típushoz, például winstonTeen és winstonAdult. Emlékeztesd őket, hogy az első lépés az objektum-típus definiálása (Winston), és csak ezt követően tudják létrehozni az új példányokat a típus alapján (winstonTeen, winstonAdult).
  • Előfordulhat, hogy a diákok véletlenül előbb definiálják az objektum metódusait, mint az objektum konstruktort. Elsőként az objektum konstruktort kell definiálni, és utána a metódusokat.
  • A diákoknak nehézséget okozhat az objektumok öröklődésének megértése JavaScriptben, még akkor is, ha már meg tudják írni az ehhez szükséges kódsorokat. Segíthet, ha sorról-sorra megbeszélitek a kódot, és elolvassátok az öröklődésről szóló interaktív videós anyag alatt, a válaszok szekcióban szereplő különféle magyarázatokat.

Kiegészítő módszer: Vitaindító kérdések

A vitaindító kérdések olyan kérdések, melyeket külön-külön feltehetsz a diákoknak, amikor egy anyagrész végére értek, vagy akár csoportos megbeszélést is alapozhatsz rájuk, ha mindenki elérte ugyanazt a tudásszintet.
  • Beszéljétek meg, hogy az állatok fogalmát hogyan programoznátok le OO (objektum-orientált) programozással! Milyen tulajdonságokat és metódusokat definiálnátok egy Állat objektumhoz? Milyen objektumok örökölnének az Állattól, és milyen tulajdonságokkal és metódusokkal rendelkeznének? Ugyanezt megvitathatjátok más objektumok kapcsán, például: Autók, Fák, Könyvek, Alakzatok. Nincsen helyes válasz, hiszen a kódolás megvalósítása nagyban függne az applikációtól/játéktól, de ez a feladat hasznos az objektum attribútumainak, viselkedésének és öröklésének végiggondolása szempontjából.

Szeretnél részt venni a beszélgetésben?

Még nincs hozzászólás.
Tudsz angolul? Kattints ide, ha meg szeretnéd nézni, milyen beszélgetések folynak a Khan Academy angol nyelvű oldalán.