Pojmy incicializace, implementace   otázka

C#, Architektura

V programování jsem začátečník, koupil jsem si knihu, ve které je skoro každé druhé slovo implementace nebo inicializace.

Tuším, co tyto pojmy znamenají, ale nejse jsem si uplně jistý. Nemohl by mi to někdo pořádně vysvětlit?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Inicializace konkrétně v programování je proces při kterém se objekt dostane ze stavu "vytvořen" do stavu "k použití", nastaví se různé proměnné a podobně, které zajistí, že se objekt bude chovat tak, jak by měl.

Implementace je dost obecný pojem sám o sobě a i v programování může nabývat rozličných významů od implementace metody Click tlačítka (= vytvoření rutiny, která zachytí a zpracuje událost kliknutí na tlačítko) po implementaci návrhového vzoru, což je v podstatě šablona architektury aplikace popisující způsob zápisu kódu a jeho strukturu, mnohdy včetně struktury souborů.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Takže jestli správně chápu. Je inicializace pole, přidání nějakých hodnot do pole.

např.

pole[0] = "polozka1";

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Obávám se, že tohle zrovna není ten případ. Jistě, v téhle situaci mohl tento význam někdo použím, nicméně já si nemyslím, že tuto situaci popisuje.

Rozeberme si situaci:

Deklarujete pole (vytvoříte proměnnou pro pole)

CLR Runtime (běhové prostředí .NET frameworku) pole inicializuje (zapíše jej do paměti, poznamená si jeho adresu, nastaví ji do proměnné a provede další vnitřní úkony související s vytvořením pole)

Nyní je pole vytvořené a inicializované (CLR runtimem) a přidání položky je již jeho modifikace.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mimochodem tady nejde o přidání, deklaroval jste pole o X prvcích, což je v podstatě X proměnných datovéhotypu jako je to pole, takže nastavujete hodnotu prvku pole, nikoliv do něj přidáváte.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Inicializace pole Integer by byla například toto:

Dim numbers() = {1, 2, 3, 4, 5}

Ve výchozím stavu je pole Integer inicializováno na samé nuly.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Souhlasím s tím, jak jste to napsal.

Tento výrok je přesný:proces při kterém se objekt dostane ze stavu "vytvořen" do stavu "k použití"

Z pohledu systému může být inicializce pole například vyhrazení paměti.

Z pohledu jazyku její vynulování.

Z pohledu programátora její naplnění potřebnými daty, aby mohla fungovat jako celek se zbytkem systému.

Význam slove je prostě uvedení do výchozích hodnot. Kdo to má na starosti nebo co jsou to výchozí hodnoty není pevně dané a záleží na kontextu použití.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Tato otázka krásně ukazuje, jak ubohé mohou někdy být učebnice (čehokoli) pro začátečníky. V dnešní době se totiž vydavatelství orientují pouze na zisk, a pak to vypadá tak, jak to vypadá...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Ano, moc dobře to znám z dob kdy jsem sám začínal programovat. Na knížce je 10x zdůrazněno, že je pro úplné začátečníky a že nepředpokládá žádné předchozí znalosti programování. Otevřete ji a hned v úvodu narazíte na, pro začátečníka, naprosto neznámé slovo, které je vysvětleno jiným, leč také neznámým, pojmem.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Inicializace by se dala chápat jako "přiřazení hodnoty", v podstatě se někam přiřadí hodnota a zároveň dostane své místo v paměti.

Implementace je v podstatě programování :) Jakmile píšeš nějaký kód, tak vlastně něco implementuješ. Takže máš třeba metodu Main ... a ten kód co je v jejím těle je "implementace metody main".

// deklarace
int i;

// inicializace
i = 0;

// definice s inicializací
int i = 0;


int MojeFunkce() // definice funkce
{ return i; } // implementace funkce

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback