Black Friday je tu! Využij jedinečnou příležitost a získej až 80 % znalostí navíc zdarma! Více zde
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
BF extended 2022
Avatar
gripen wo.cz
Člen
Avatar
gripen wo.cz:16.10.2021 1:06

Zdravím, trošku mi nedává smysl, proč se "překrývají Metody", když mám k dispozici jejich "implicitní implementaci"? Jaký má smysl mít nějaký "postup práce s daty", když stejně jej přepíšu něčím zcela jiným?

A co mi vlastně určí, čím (jakým postupem) bude metoda překryta, a za jakých okolností?

 
Odpovědět
16.10.2021 1:06
Avatar
Patrik Valkovič
Člen IT Redactor Gang
Avatar
Patrik Valkovič:16.10.2021 12:25

To jsou otázky hodně o návrhu softwaru a chce to mít trochu praxe a hodně citu pro problematiku.
Můžeš mít implicitní implementaci jako "fallback". Budeš mít nějaký algoritmus, který bude v základní třídě. Ty ale víš že pro speciální typy problémů existuje ještě efektivnější algoritmus. Můžeš tedy vytvořit novou třídu, která zabaluje pouze tento specifické problémy a pro ně spustit efektivní verzi, zatímco pro všechny ostatní tu výchozí a pomalejší.
Obecně vzato se předpokládá, že základní implementace bude někde v programu taky volána. Pokud nikde v programu volaná není, lze ji udělat jako abstraktní. A pro speciální případy (určené potomky), se ten algoritmus může měnit.

Nahoru Odpovědět
16.10.2021 12:25
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
gripen wo.cz
Člen
Avatar
gripen wo.cz:16.10.2021 17:34

To jsou otázky hodně o návrhu softwaru a chce to mít trochu praxe a hodně citu pro problematiku.
Můžeš mít implicitní implementaci jako "fallback". Budeš mít nějaký algoritmus, který bude v základní třídě. Ty ale víš že pro speciální typy problémů existuje ještě efektivnější algoritmus. Můžeš tedy vytvořit novou třídu, která zabaluje pouze tento specifické problémy a pro ně spustit efektivní verzi, zatímco pro všechny ostatní tu výchozí a pomalejší.
Obecně vzato se předpokládá, že základní implementace bude někde v programu taky volána. Pokud nikde v programu volaná není, lze ji udělat jako abstraktní. A pro speciální případy (určené potomky), se ten algoritmus může měnit

To trošku nechápu, proč píšeš o "vytváření nové třídy", když já tu popisoval čachry s metodama. Pokud jsem to správně pochopil, metoda vznikne ze třídy, resp třída je předloha, šablona, metoda "postup jak aplikovat a využít to, co* šablona* nabízí pro svůj užitek"

 
Nahoru Odpovědět
16.10.2021 17:34
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.