Return to Video

Typy objektů

  • 0:01 - 0:03
    Now that you understand
    the basics of Javascript,
  • 0:03 - 0:06
    Chci tě učit
    o skvělém způsobu použití Javascriptu,
  • 0:06 - 0:10
    něco, čemu říkáme
    "objektově orientované programování."
  • 0:10 - 0:12
    Ale nejdřív potřebujeme
    pochopit, proč je to skutečně užitečné.
  • 0:12 - 0:16
    Takže jsem dal dohromady program
    to bude lepší, jakmile to zvládneme
  • 0:16 - 0:17
    více objektově orientovaný.
  • 0:17 - 0:20
    Nyní je to docela skvělý program
    začít.
  • 0:20 - 0:24
    Nahoře mám dvě proměnné
    které ukládají literály jednoduchých objektů uvnitř.
  • 0:24 - 0:28
    Nyní, doslovný předmět je druh
    předmětu, o kterém jsme se dověděli dříve,
  • 0:29 - 0:31
    které vytvoříme pomocí dvou složených závorek
  • 0:31 - 0:33
    a pak vložíme všechna tato jména vlastností
    a hodnoty uvnitř.
  • 0:34 - 0:37
    Takže máme dva z těchto objektů
    doslovné proměnné a pak tady dole
  • 0:37 - 0:41
    máme tuto funkci drawWinston
    který očekává jediný argument,
  • 0:41 - 0:45
    a pak to argumentuje,
    nakreslí obrázek na základě x
  • 0:45 - 0:48
    a y vlastnosti objektu
  • 0:48 - 0:53
    a pak titulek založený na přezdívce
    a věkové vlastnosti tohoto objektu.
  • 0:53 - 0:56
    A teď konečně na dně,
    nazýváme drawWinston
  • 0:56 - 0:57
    na dospívající a na dospělé,
  • 0:57 - 1:00
    a to je důvod, proč se to projeví.
  • 1:01 - 1:06
    Dost dobrý. Teď, když půjdeme nahoru,
    a podíváme se na tyto objektové literály,
  • 1:06 - 1:11
    všimněte si, že něco o nich je
    že vypadají opravdu podobně.
  • 1:11 - 1:16
    Oba mají stejné sady
    vlastností a oba mohou být použity
  • 1:16 - 1:17
    stejnou funkcí drawWinston.
  • 1:18 - 1:22
    Ve skutečnosti víte, pokud si myslíte
    o tom vlastně oba popisují
  • 1:22 - 1:24
    typ Winstona, že?
  • 1:24 - 1:29
    A můžeme myslet, že tam možná je
    tento abstraktní typ Winstonu na světě
  • 1:29 - 1:33
    a každý Winston má stejnou sadu
    vlastností, jako je přezdívka
  • 1:33 - 1:37
    a věk a x a y a tady,
  • 1:37 - 1:42
    co jsme udělali je, že jsme právě vytvořili
    dva případy Winstona
  • 1:42 - 1:45
    popsat konkrétní Winston.
  • 1:45 - 1:48
    Takže toto je dospívající Winston
    a toto je dospělý Winston.
  • 1:48 - 1:53
    Ale jsou opravdu, jsou opravdu
    obě jsou velmi podobné a je jich hodně
  • 1:53 - 1:55
    věcí, které jsou o nich podobné.
  • 1:55 - 1:58
    A pokud o tom přemýšlíte, to je hodně
    jak svět také funguje,
  • 1:58 - 2:01
    je to, že máme tyto abstraktní datové typy
    jako lidé a lidé
  • 2:01 - 2:04
    a pak jsme všichni prostě konkrétní
    jejich příklady
  • 2:04 - 2:06
    s našimi vlastními malými vlastnostmi.
  • 2:06 - 2:10
    Nyní můžeme skutečně použít
    objektově orientované techniky v Javascriptu
  • 2:10 - 2:17
    takže tyto proměnné Winston
    jsou formální instance objektu Winston,
  • 2:18 - 2:22
    aby věděli, že sdílejí
    tyto věci společné.
  • 2:22 - 2:25
    Takže, udělat to, první věc, kterou potřebujeme
    je vlastně popsat
  • 2:25 - 2:30
    tento abstraktní datový typ Winston,
    a uděláme to proměnnou.
  • 2:30 - 2:35
    Datový typ uložíte do proměnné
    tak var Winston, a uděláme kapitál W
  • 2:35 - 2:39
    protože vždy začneme
    naše typy objektů s kapitálem,
  • 2:39 - 2:42
    a nastavíme to na stejnou funkci.
  • 2:42 - 2:47
    A tato funkce je speciální funkce
    že nazýváme "konstruktorovou funkcí"
  • 2:47 - 2:49
    protože to je to, čemu se říká
    pokaždé, když chceme
  • 2:49 - 2:52
    vytvořit novou instanci Winston.
  • 2:52 - 2:55
    Takže když chceme vytvořit dospívající
    Winstone, nazýváme tuto funkci
  • 2:55 - 2:58
    nebo dospělý Winston,
    tuto funkci nazýváme.
  • 2:58 - 3:03
    To znamená, že tato funkce
    by měl vzít jakékoli argumenty, které potřebuje
  • 3:03 - 3:06
    vědět o pořádku
    aby vytvořil plný Winston.
  • 3:06 - 3:10
    V tomto případě to musí vědět
    přezdívka, věk, xay.
  • 3:11 - 3:15
    Jakmile jsme dostali tyto argumenty
    musíme s nimi něco udělat,
  • 3:15 - 3:21
    takže se musíme skutečně připojit
    tyto informace k objektu Winston.
  • 3:21 - 3:27
    Použijeme tedy nové speciální klíčové slovo,
    s názvem "toto". A „toto“ bude odkazovat
  • 3:27 - 3:29
    k aktuální instanci objektu.
  • 3:29 - 3:32
    Takže řekneme toto.nickname,
    takže to řekne dobře,
  • 3:32 - 3:34
    vlastnost přezdívka
    tohoto objektu se rovná
  • 3:34 - 3:38
    cokoli projde
    do funkce konstruktoru, ano?
  • 3:38 - 3:42
    A this.age se rovná věku
    který se dostane dovnitř, this.x je stejná
  • 3:42 - 3:44
    na x, které se dostane dovnitř,
  • 3:44 - 3:47
    a this.y se rovná y
    to se dostane dovnitř.
  • 3:47 - 3:53
    Dobře, tak teď máme
    tento abstraktní datový typ s názvem Winston,
  • 3:53 - 3:56
    a má funkci konstruktoru
    které můžeme použít k vytvoření nového Winstonu.
  • 3:56 - 3:59
    Zkusme to použít!
  • 3:59 - 4:03
    Budeme znovu vytvářet winstonTeen,
    ale tentokrát jdeme
  • 4:03 - 4:05
    říkat winstonTeen se rovná,
  • 4:05 - 4:10
    a místo složených závorek,
    řekneme „rovná se nový Winston“.
  • 4:11 - 4:14
    Takže říkáme „zkoušíme to
    vytvořit novou instanci Winston, “
  • 4:14 - 4:16
    a pak půjdeme
    v informacích, které potřebuje
  • 4:16 - 4:21
    takže "Winsteen", 15, 20, 50, dobře?
  • 4:22 - 4:26
    A pak můžeme tento starý smazat
    protože to už nepotřebujeme.
  • 4:26 - 4:30
    Dobře? A teď to je
    vytvořil nový Winsteen.
  • 4:31 - 4:36
    A teď můžeme říct
    winstonAdult = new Winston ()
  • 4:36 - 4:40
    a samozřejmě se jmenuje
    "Pane Winst-a-lot", milé jméno,
  • 4:40 - 4:45
    a je mu 30 a má 229 a 50.
    Dobře? A pak můžeme smazat
  • 4:45 - 4:50
    tento předmět doslovný,
    a tada! Náš kód stále funguje.
  • 4:51 - 4:54
    Co jsme tady udělali
    je to, že jsme řekli, že je to tady,
  • 4:54 - 4:57
    tento druh abstraktního typu
    dat, což je tento Winston
  • 4:58 - 5:03
    a můžeme vytvořit nové instance Winston
    které mají tyto vlastnosti
  • 5:03 - 5:05
    které jsou pro ně jedinečné,
  • 5:05 - 5:09
    a budeme si jen pamatovat
    ty vlastnosti uvnitř nich.
  • 5:09 - 5:12
    A pamatování je opravdu důležité.
    Takže tady víte,
  • 5:12 - 5:14
    máme toto.nickname, this.age.
  • 5:14 - 5:20
    Pokud bychom náhodou neměli tento věk,
    Všimněte si, že nyní říká „nedefinováno“.
  • 5:20 - 5:23
    To proto, že tady dole,
    tato funkce drawWinston,
  • 5:23 - 5:28
    očekává, že se dostane jakýkoli předmět
    očekává se, že bude mít věkovou nemovitost.
  • 5:28 - 5:31
    A pokud jsme to neřekli.age,
  • 5:31 - 5:34
    pak to nemá věkovou vlastnost.
    Předali jsme ji konstrukční funkci
  • 5:34 - 5:37
    ale pak jsme s tím nic nedělali,
    musíme to vlastně připojit
  • 5:37 - 5:39
    k objektu pomocí klíčového slova „toto“.
  • 5:40 - 5:42
    Přidáme to zpět.
  • 5:42 - 5:45
    Nyní byste mohli přemýšlet
    jako jistě, váš kód funguje
  • 5:45 - 5:50
    ale, víte, jsme ... vše, co jsme udělali, je
    splnili to, co jsme měli předtím.
  • 5:50 - 5:54
    Ale tady je ta skvělá věc.
    Nyní, všechny naše Winstons jdou
  • 5:54 - 5:56
    prostřednictvím stejné funkce konstruktoru.
  • 5:56 - 6:00
    Takže pokud chceme, můžeme vlastně
    změnit věci, změnit některé věci
  • 6:00 - 6:01
    o Winstonu ...
  • 6:01 - 6:04
    všechny Winstony, tady uvnitř.
    Takže možná věk vlastně chceme
  • 6:04 - 6:06
    říci „roky staré“.
  • 6:06 - 6:10
    Můžeme to prostě dát sem,
    a teď říkají všichni naši Winstoni
  • 6:10 - 6:13
    "15 let," "30 let," že?
  • 6:13 - 6:15
    Takže se toho účastní
    to je o nich jedinečné,
  • 6:15 - 6:17
    ale pak také mají věci
    které jsou o nich sdíleny.
  • 6:17 - 6:20
    A to je opravdu super věc
    o objektově orientovaném programování
  • 6:20 - 6:22
    je tento nápad, že existuje
    tyto druhy předmětů
  • 6:22 - 6:26
    ve světě, a vy můžete skutečně
    vytvářet instance těchto objektů,
  • 6:26 - 6:28
    a jsou tu nějaké věci
    které jsou o nich podobné
  • 6:28 - 6:30
    jako by všichni měli stejné vlastnosti.
  • 6:30 - 6:32
    Pak jsou věci, které jsou různé
    jako oh, tato vlastnost je ve skutečnosti
  • 6:32 - 6:36
    jiná hodnota
    než tato jiná vlastnost, že?
  • 6:36 - 6:39
    Ale pak, víte, můžeme to udělat
    stejné chování s nimi
  • 6:39 - 6:41
    jako volat stejné funkce
  • 6:41 - 6:43
    a používat je podobným způsobem.
  • 6:43 - 6:46
    Takže to jsou některé z úžasných věcí
    o objektově orientovaném programování
  • 6:46 - 6:49
    ale jak uvidíte,
    je tu spousta tun.
  • 6:49 - 6:50
    Takže zůstaňte naladěni!
Title:
Typy objektů
Description:

more » « less
Video Language:
English
Duration:
06:51

Czech subtitles

Revisions Compare revisions