Názory ke článku Java (II) - 1. lekcia – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Názory ke článku Java (II) - 1. lekcia – Programujte.comNázory ke článku Java (II) - 1. lekcia – Programujte.com

 

Názory ke článku Java (II) - 1. lekcia

rudyment   NOVÝ
1. 12. 2006

Vysvětlovat dědičnost hned na počátku kurzu není považování za vhodné, protože dědičnost patří mezi nebezpečné konstrukce a bez znalosti souvislostí ji pak začátečníci pouzžívají špatně, aniž by se někde dozvěděli proč.

Právě uvedený styl výkladu je častou příčinou toho, proč začátečníci používají dědičnost špatně: Neupozorňuje je totiž na to, že potomek má být speciálním případe předka, ale vyvolává v nich naopak dojem, že hlavním důvodem zřízení potomka je potřeba přidat nějaký ten atribut či metodu.

Pak se jim ale začnou jejich projekty hroutit a oni dávají vinu OOP, místo aby ji objevili ve špatné architektuře svého návrhu.

Kromě toho tu najednou spadlo z nebe vytváření nových instancí, aniž by se někdo před tím zmínil cokoliv o konstrutorech.

Navíc pojem rozhraní (interface), jehož výklad by měl výkladu dědičnosti předcházet, tu není vůbec zmíněn, přestože v moderním programování je pojmem naprosto základním.

Doporučoval bych autorovi, aby si přečetl knihu, a níž jsem se zmiňoval v komentáři k úvodnímu článku seriálu.

ttono   NOVÝ
16. 3. 2007

nevie niekto prečo mi neide export do PDF? Dik

Tomáš gabriel   NOVÝ
21. 3. 2007

Tak jsem zkusil příklad 3 a nefunguje. Při kompilaci to nahází chyby:

Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method nastavSerioveCislo(int) is undefined for the type Ferrari
The method zistiSerioveCislo() is undefined for the type Ferrari
The method nastavSerioveCislo(int) is undefined for the type Porsche
The method zistiSerioveCislo() is undefined for the type Porsche
The method nastavSerioveCislo(int) is undefined for the type BMW
The method zistiSerioveCislo() is undefined for the type BMW

at TestAut.main(TestAut.java:8)

Je to můj první program a tak teď nevím, jestli jsem blbej nebo jsem měl smůlu a hned napoprvé je předdělaném programu chyba. Každopádně v třídě Ferrari jsou dvě chyby v komentářích: nejde o nastavování sériového čísla ale barvy. I tak díky za relativně srozumitelný úvod. I když systém závorek, lomítek a tředníků jsem musel odtušit sám. Je to trochu zvláštní, psát tutorial pro lidi, co už uměj C++. Ti žádné tutorialy nepotřebují... Já třeba znám jen základy Basicu, Pascalu a Assembleru, takže je mi tahle syntaxe naprosto cizí a musím polovinu věcí věštit nebo nad nimi mávat rukou a doufat, že to není moc důležité.

Tomáš Gabriel   NOVÝ
21. 3. 2007

omlouvám se, příklad funguje...

master   NOVÝ
29. 3. 2007

public void zistiRychlost() {
return rychlost;
}

Jsem v Javě začátečník, ale void se mi zdá že nevrací nic :-)

vrn   NOVÝ
2. 5. 2007

prečo niečo nanapíšeš ty? pán dokonalý? kedže máš čas kritizovať typujem, že sa nudíš tak nás niečo nauč!

  NOVÝ
27. 11. 2007

ačkoli javě moc nerozumim tak mi přide že je z toho jasný že ten void vrací "rychlost" :-)

Lucinca   NOVÝ
4. 3. 2008

Za článek děkuju a jen tak dál prosím :) :smile4:

Eari   NOVÝ
21. 2. 2009

Trieda TestAut

# // vypis serioveho cisla a ceny
# System.out.println("Seriove cislo BMW: " + mojeBMW.zistiSerioveCislo());
# System.out.println("Pocet dveri Porsche: " + mojeBMW.zistiCenuBMW());

ze by mělo BMW 1200000 dveri?? :smile1:
:smile5: :smile5: :smile5:

wise   NOVÝ
25. 10. 2009

Reagoval na komentář od uživatele Eari :

všichni pochopí, že se jedná o překlep :) resp. zkopírování předchozího kódu, kde se zapomněl změnit string.

Jakub Hesoun   NOVÝ
21. 10. 2011

Sice je to dost starý článek, ale pro případ, že to někde ještě bude číst (jako já) se zmíním o pár věcech, an které jsem narazil.

Jak už to někdo na začátku zmiňoval, příklad s dědičností opravdu není zvolen moc vhodně a pokud to někdo nikdy neviděl, tak to na tomto příkladu správně nepochopí. Jde o to, že subclasses by měly být nějaké speciální případy té rodičovské třídy. Např.: Rodič: Grafický objekt; Potomci: Bod, Úsečka, Kružnice...(viz Virius: Java pro zelenáče).

Další věc už tu také někdo zmiňoval a tou je chyba v

public void zistiRychlost() {
        return rychlost;
    }

správně to má vypadat

public int zistiRychlost() {
        return rychlost;
    }

No a poslední věc je, že u základních datových typů chybí známénka u byte a short, které mají rozmezí

-128 až 127 byte

-32768 až 32767 short

bezkomentara   NOVÝ
24. 1. 2013

Autor clanku spolu s osobou ktora vykonala korekciu maju zavazne nedostatky uz v zakladoch! Je pravda ze datovy typ char obsadzuje 16-bitov ale v ziadnom pripade to nie je neznamienkove cele cislo ale znak (pismeno, cislica, interpunkcne znamienko atd...)!!! 

asfasfa   NOVÝ
7. 7. 2014

Ferrari mojeFerrari = new Ferrari();

Prosim Vas tomuto som nepochopil preco tam musi byt to prve "Ferrari" ? Neviem ci som odpoved uz mal vediet alebo sa ju dozviem.

Roman   NOVÝ
21. 4. 2015

Ahojte.

Chcel by som sa opýtať, keď som programoval v Netbeans (8.0.2) kde môžem nájsť niečo také ako je Package explorer v eclipse? Celé som si to naprogramoval ale neviem to nijako spustiť teraz. Ďakujem.

Přidej svůj názor

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo e-mailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Reaguješ na příspěvek:
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové názory e-mailem (pouze pro přihlášené)
Sleduj názory ke článku a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.



Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý