Rozdíl mezi p As a ... p As New ...   zodpovězená otázka

VB.NET, Architektura

Dobrý den, mohl by mi někdo vysvětlit, jaký je přesný rozdíl mezi zápisem p As TřídaXY a zápisem p As New TřídaXY? Tím druhým vytvářím instanci třídy, je to tak? Ale co se tedy vytvoří tím prvním zápisem?

Díky.

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

Prvním zápisem se vytvoří proměnná p, ve které bude hodnota Nothing. Do ní můžete buď přiřadit nějakou jinou proměnnou nebo výraz typu TřídaXY, proměnnou nebo výraz typu, který dědí z typu TřídaXY, nebo Nothing.

V paměti taková proměnná vypadá jako (v 32 bitovém režimu) 4 bajty, které obsahují adresu, kde v paměti jsou uložena data té třídy. Pokud je tato adresa nulová, proměnná má hodnotu Nothing.

Zápis

Dim p As New TřídaXY()

je vlastně jen zkratka za

Dim p As TřídaXY = New TřídaXY()

.

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

Díky moc, konečně jsem to pochopil.Opravdu díky.

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

Okrem toho formu

Dim p As New TřídaXY()

by som nepoužíval. Nie je to bezpečné.

Aspoň vo VB 6 to nebol, pretože sa instancia

triedy XY vytvorila až pri prvom použití premennej p,

čo niekedy nebolo vhodné.

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