Dynamický výběr

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Dynamický výběr, angl. , je v programování metoda výběru polymorfní operace (metody nebo funkce), která se má za běhu zavolat. Dynamický výběr je v protikladu ke statickému výběru (static dispatch), při kterém je implementace (viz) polymorfní operace vybrána v průběhu kompilace. Účel dynamického výběru je podporovat ty případy, kdy nelze určit příslušnou implementaci polymorfní operace staticky kompilátorem, protože závisí na dynamickém (tj. běhovém) typu jednoho nebo více parametrů.

Podobná implementační technika je pozdní vazba, late binding.

Dynamický výběr se často používá v objektově-orientovaných jazycích, když různé třídy obsahují různé implementace stejné metody díky dědičnosti. Například předpokládejme, že dvě třídy B a C dědí metodu foo z A. +more Když x je proměnná typu A. Za běhu může x obsahovat hodnotu typu B nebo C kromě A a obecně tento konkrétní typ nelze určit při kompilaci.

Při statickém výběru volání metody x. foo bude vždy odkazovat na implementaci foo ze třídy A, protože statický výběr určuje implementaci podle deklarovaného typu objektu. +more Při dynamickém výběru bude zjištěn typ hodnoty v proměnné x za běhu a zavolá se implementace foo, která je asociovaná s konkrétním typem uložené hodnoty, ať je to A , B nebo C.

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top