Pse lidhja dinamike është e rëndësishme në zbatimin e polimorfizmit?
Pse lidhja dinamike është e rëndësishme në zbatimin e polimorfizmit?

Video: Pse lidhja dinamike është e rëndësishme në zbatimin e polimorfizmit?

Video: Pse lidhja dinamike është e rëndësishme në zbatimin e polimorfizmit?
Video: Capital-T siç nuk e kemi parë kurrë, rrëfën dashurinë e tij 2024, Dhjetor
Anonim

Lidhja dinamike lejon që një thirrje e funksionit të anëtarit të zgjidhet në kohën e ekzekutimit, sipas llojit të kohës së ekzekutimit të referencës së objektit. Kjo lejon që çdo klasë e përcaktuar nga përdoruesi në një hierarki të trashëgimisë të ketë një të ndryshme zbatimi të një funksioni të caktuar.

Duke pasur parasysh këtë, çfarë është polimorfizmi shpjegon rolin që luan lidhja dinamike në zbatimin e polimorfizmit?

Kjo është ajo që ne e quajmë statike detyruese : të detyruese emrat ndodhin në kohën e përpilimit (d.m.th., statik). Një mekanizëm i tillë quhet lidhje dinamike : të detyruese të emrave të një zbatimi ndodh në kohën e ekzekutimit (d.m.th. dinamike ). Lidhja dinamike është e nevojshme që gjuhët programuese të orientuara nga objekti zbatojnë polimorfizmin.

Në mënyrë të ngjashme, cili është përdorimi i lidhjes dinamike? Statike detyruese përdor informacionin Lloji (klasa në Java) për detyruese derisa lidhje dinamike përdor objektin për të zgjidhur detyruese . Metodat e mbingarkuara janë të lidhura duke përdorur statike detyruese ndërsa metodat e anashkaluara janë të lidhura duke përdorur lidhje dinamike në kohën e ekzekutimit.

Më pas, pyetja është, a është polimorfizëm lidhës dinamik?

Polimorfizmi në Java ka dy lloje: Koha e kompilimit polimorfizëm (statike detyruese ) dhe Runtime polimorfizëm ( lidhje dinamike ). Një shembull i rëndësishëm i polimorfizëm është se si një klasë prind i referohet një objekti të klasës fëmijë. Në fakt, çdo objekt që plotëson më shumë se një marrëdhënie IS-A është polimorfike në natyrë.

Sa është e dobishme lidhja dinamike në oops?

Lidhja dinamike arrihet duke përdorur funksionet virtuale. Treguesi i klasës bazë tregon objektin e klasës së derivuar. Dhe një funksion deklarohet virtual në klasën bazë, më pas funksioni i përputhjes identifikohet në kohën e ekzekutimit duke përdorur hyrjen në tabelën virtuale. Si kalohen elementet në një i orientuar nga objekti gjuhe programimi ( OOP )?

Recommended: