Diskuze: Nepovinny parameter funkcie
Tvůrce
Zobrazeno 20 zpráv z 20.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
Tomu se v OOP tak říká, metoda je přetížená když existuje více variant parametrů se kterými se volá.
Myslím že expoox měl spíše na mysli implicitní parametry než přetížení funkce.
no neviem aky je medzi tym rozdiel... ale ked som si vyskusal to pretazenie tak to robi zatial to co som mal na mysli
Přetížení je že uděláš dvě různý funkce se stejnym názvem, když
pak tu funkci voláš, kompilátor podle předaných parametrů pozná kterou z
nich má použít. Pro implicitní parametry ti stačí jedna funkce, přičemž
u několika posledních parametrů můžeš určit jejich implicitní hodnotu a
tyhle parametry pak nemusíš dosazovat při volání, kompilátor za ně
dosadí tu implicitní hodnotu.
http://www.programmersheaven.com/…-parameters/
Delphi by to mělo umět.
No tak toto mi nejde do hlavy, podľa toho čo píšeš a podľa toho čo som si teraz otestoval tak toto:
function plus(a:integer; b:integer=1):integer;
begin
result:=a+b;
end;
funguje tak isto ako toto:
function plus(a:integer; b:integer=1):integer; overload;
begin
result:=a+b;
end;
ak so tom správne pochopil tak len s tým rozdielom že preťaženie je pamäťovo náročnejšie... teda mi logicky vychádza jedna otázka, aký zmysel ma overload? má neakú výhodu oproti tomu čo hovoríš ?
Pokud chceš aby ty funkce dělaly něco jinýho, požuiješ přetížení (overload). Pokud chceš aby dělaly to samý, jenom si nemusel dosazovat některý parametry, použiješ implicitní parametry. Přece nebudeš tu funkci celou psát podruhý.
Při overload si můžeš definovat úplně jiné parametry, při implicitní hodnotě máš stále ty samé, jen některé nemusíš zadat.
Mluvil jsi o funkci inc. Představ si, že potřebuješ, aby uměla inkrementovat i desetinná čísla. To jinak než overloadem neuděláš.
Dvě funkce se stejným názvem a alespoň jedním odlišným parametrem.
Však to máš v tom návodu, na který jsem ti poslal odkaz.
Proč fce co sčítá 2 integery vrací real? Takhle to bude:
function plus(a:integer; b:integer):integer; overload;
begin
result:=a+b;
end;
function plus(a:real; b:real):real; overload;
begin
result:=a+b;
end;
Snad se to takhle přeloží, Pascal jsem neviděl už několik let a jsem za to rád.
Mohl by, pomocí genericity... nevim ale jestli se v delphi dá udělat generická funkce, pokud ne musel by udělat celou třídu.
sdraco mi kdysi napsal, že extrémně přetěžuji objekty. Jsem žabař...
Genericita je skvělá věc, pokud jí jazyk dostatečně podporuje.
Zobrazeno 20 zpráv z 20.
