Autor | Zpráva | ||
---|---|---|---|
Jan Tvrdík Profil |
#1 · Zasláno: 2. 2. 2009, 17:42:02
Dokáže někdo vysvětlit rozdíl mezi pojmy deklarace a definice (v PHP).
|
||
XYQ Profil |
#2 · Zasláno: 2. 2. 2009, 19:23:47
=D...jakož týhle slová dávají smysl jednosměrný...v php používam pouze "definice"... Jinak deklarovat -> dovést z jiného souboru proměnnú,definovat -> v tom istém souboru ...aspoň podle mne...pokud je to omyl,opravit...
|
||
SwimX Profil |
#3 · Zasláno: 2. 2. 2009, 19:29:44
„Jinak deklarovat -> dovést z jiného souboru proměnnú,definovat -> v tom istém souboru “
to je myšlený v php nebo obecně? obecně by to mělo být takle: Deklarace - nám říká že určitá proměnná či funkce někde existuje - s tím většinou spojené určení typu Definice - Deklaruje proměnnou nebo funkci a alokuje pro ní paměť - nastavení hodnoty |
||
AM_ Profil |
#4 · Zasláno: 2. 2. 2009, 20:06:53
Rozdíl je poměrně jednoznačný a týká se obecně teorie programovacích jazyků.
Deklarace- z anglického declare=prohlásit,vyhlásit - je příkaz, který "říká, že se funkce/proměnná bude v programu vyskytovat". Definice - od definovat, formulovat - je již zápis, který již přesně určí, o co se jedná. U proměnných vypadá deklarace a definice dost podobně, na příkladu funkce je ale názornější, o co jde (příklad píši v jazyce C, nejsem si jistý, jestli PHP deklarace funkcí vůbec nějak využívá, já to nikdy nepoužil): Deklarace funkce: int Secti(int a, int b); Definice funkce: int Secti(int a, int b){ return a+b; } S typickým příkladem deklarací a definic se můžeme setkat například ve stále pro výukové účely používané prostředí Turbo Pascal při vytváření knihoven (units). Zdrojový kód má dvě části: interface, kde [b]deklarujeme[/b] všechny veřejné funkce, procedury a proměnné (popř. další entity), a implementation, kde povinně [b]definujeme[/b] všechny deklarované funkce a procedury (a můžeme dopsat další, které, pokud nejsou uvedeny v implementation, nebudou z programu přístupné, podobně jako private metody objektových jazyků). |
||
XYQ Profil |
#5 · Zasláno: 3. 2. 2009, 07:11:47
„„Jinak deklarovat -> dovést z jiného souboru proměnnú,definovat -> v tom istém souboru ““
„to je myšlený v php nebo obecně?“ „obecně by to mělo být takle:“ „Deklarace - nám říká že určitá proměnná či funkce někde existuje - s tím většinou spojené určení typu“ „Definice - Deklaruje proměnnou nebo funkci a alokuje pro ní paměť - nastavení hodnoty“ obecně... |
||
Jan Tvrdík Profil |
#6 · Zasláno: 3. 2. 2009, 12:15:58 · Upravil/a: Jan Tvrdík
Toto je definice:
class Auto { public $barva; } Toto je také definice. $auto = new Auto; A deklarace v PHP vůbec neexistuji. EDIT: teď mě napadá, že za deklaraci by mohl být považován zápis "public $barva;" Je to tak? |
||
TFSi Profil |
#7 · Zasláno: 3. 2. 2009, 15:58:20 · Upravil/a: TFSi
„A deklarace v PHP vůbec neexistuji. “
http://cz2.php.net/declare Aber nein! A rozdíl mezi deklarací a definicí v PHP: http://www.php.net/declare vs. http://www.php.net/define Jinak mimo programování: deklarace je něco jako potvrzení, vyjádření (deklarace nezávislosti = vyjádření nezávislosti) definice je vyjádření významu slova |
||
_es Profil |
#8 · Zasláno: 3. 2. 2009, 16:57:41
TFSi
„A rozdíl mezi deklarací a definicí v PHP: http://www.php.net/declare vs. http://www.php.net/define “ Skôr asi pôjde o odlišné použitie anglických slov declare a define, než na deklaráciu a definíciu premenných. |
||
nightfish Profil |
#9 · Zasláno: 3. 2. 2009, 17:26:11 · Upravil/a: nightfish
„[i]A rozdíl mezi deklarací a definicí v PHP:
http://www.php.net/declare vs. http://www.php.net/define aneb mícháme jablka, brambory a uhlí |
||
Časová prodleva: 5 měsíců
|
|||
PavelXXX Profil * |
#10 · Zasláno: 1. 7. 2009, 10:31:32
asi tak nejak,
define - slouzi k definovani MAKER v php :)... to s definici a deklaraci nema zadnou souvislost ;) declare jsem nikdy nepouzil. z5 k puvodni otazce: deklarace obecne v jakemkoliv jazyce = "rikam, ze takovato funkce / trida existuje a nekde bude popsana" definice - definuje funkci/tridu jake ma parametry, metody, co dela atd... typicky priklad: definice / deklarace funkce v c++ viz _AM: Deklarace funkce: int Secti(int a, int b); Definice funkce: int Secti(int a, int b){ return a+b; } |
||
Časová prodleva: 1 rok
|
|||
PerNyk Profil * |
#11 · Zasláno: 9. 9. 2010, 13:12:49
Ahoj, je to jak říká SwimX... tedy deklarace - nealokuje paměť a definice alokuje paměť
příklad v jazyce java: int c; ... toto je deklarace, zavádím proměnnou, ale nealokuji paměť (nepřiřazuji jí žádnou hodnotu/obsah) c = 5; ... toto je definice, alokuji místo v paměti a přiřazuji proměnné určitou hodnotu/obsah int a = 25; ... toto je spojení deklarace s definicí |
||
Nox Profil |
#12 · Zasláno: 9. 9. 2010, 13:17:58
[b]PavelX
PavelXXX: „slouzi k definovani MAKER v php :)“ šmarja, v PHP žádná makra nejsou ;) define() je pro konstanty (nově i keyword const) |
||
Mastodont Profil |
#13 · Zasláno: 9. 9. 2010, 13:29:01
To je také definice.
$auto = new Auto; Za mých mladých let to bejvávalo přiřazení ... |
||
tiso Profil |
A dôvod prečo sa to opäť zbytočne vyťahuje? nightfish-ova odpoveď nestačí?
Moderátor Joker: Odstraněn přivolávač moderátorů, přes dva týdny to nikdo neřešil a teď už to nemá cenu, když téma (snad) zase usnulo.
|
||
blizzboz Profil |
#15 · Zasláno: 10. 9. 2010, 05:43:20 · Upravil/a: blizzboz
Jan Tvrdík:
„A deklarace v PHP vůbec neexistuji.“ A čo abstraktné metódy v abstraktných triedach a interfejsoch to nie sú deklarácie? V Interfejse sú deklarované a v triede ktorá ich implementuje sú definované a implementované. Najlepšie princíp a zmysel deklarácie pochopíš na tomto pascal zdrojáku: Function Add(A, B : Integer): Integer; Forward; (* Deklarácia funkcie "Add" *) Function Bad(A, B, C : Integer) : Integer; Begin Bad := Add(Add(A,B),C); (* Tu je volaná funkcia "Add" ktorá ešte nebola definovaná, ale už bola deklarovaná *) End; Function Add(A, B : Integer) : Integer; (* Definícia funkcie "Add" *) Begin Add := A + B; End; |
||
Časová prodleva: 15 let
|
0