Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
Třídy, dědičnost a OOP v Javascriptu - I

Daniel Steigerwald aura:52
17. 3. 2010 17:56

Re: OOP, dedicnost

celé vlákno

Díky ze vynikající a zevrubný komentář. Jak prototypová dědičnost v Javascriptu přesně funguje, tomu se budu věnovat v druhém článku. A myslím, že vypíchnu jednu charakteristiku, která je naprosto zásadní, ale jenom málokdo si ji uvědomuje.

S tím zdvojením name a p_name máte samozřejmě pravdu, name není nutné. Zde však slouží jako ilustrace, protože v „tom správném“ příkladě (který bude v druhém díle), se lokální name stane instanční vlastností ( this.name = name).

K hodnocení že tyto techniky jsou špatné, mělo asi zaznít (velkými písmeny a červeně ;), že jsou špatné pro tvorbu tříd. Ještě přesněji, „zneužití closure“ má význam pouze pro funkcionální programování, v nějakém algoritmu, nebo tam kde potřebuji callback. I v takových případech pak ale nehovoříme o tvorbě tříd. Co se týká techniky druhé, vytváření metod v konstruktoru. Tato technika je dle mého špatná vždy. Respektive nevybavuji si jediné její oprávněné použití. Ale rád se nechám poučit, pokud o nějakém takovém využití víte, sem s ním.

Co se týká dědění vestavěných objektů, které máte na mysli? Funkci podědit nelze. Pole ano, ale nebude správně fungovat v Internet Exploreru. Čísla, řetězce, ani booleany jsem dědit nikdy nezkoušel.