Forskel mellem tidlig og sen binding

Indholdsfortegnelse:

Forskel mellem tidlig og sen binding
Forskel mellem tidlig og sen binding

Video: Forskel mellem tidlig og sen binding

Video: Forskel mellem tidlig og sen binding
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim

Nøgleforskel – tidlig vs. sen binding

Tidlig binding og sen binding er to begreber relateret til polymorfi. Den tidlige binding finder sted på kompileringstidspunktet, mens den sene binding finder sted under kørsel. Den vigtigste forskel mellem Early og Late Binding er, at Early Binding bruger klasseinformationen til at løse metodekald, mens Late Binding bruger objektet til at løse metodekald.

Programmeringssprog såsom Java understøtter Object Oriented Programming (OOP). Det er et paradigme, der gør det muligt at konstruere programmet eller softwaren ved hjælp af objekter. Der er flere objekter i softwaren. Disse objekter er forbundet med hinanden og sender meddelelser ved hjælp af metoder. Hver genstand har egenskaber og adfærd. Egenskaberne er beskrevet af egenskaberne eller attributterne. Adfærden beskrives ved hjælp af metoder. Objektet Elev kan have karakteristika som navn, alder og de er repræsenteret ved egenskaber. Objektet Elev kan have adfærd som at studere og læse, og de er repræsenteret ved metoder. En vigtig søjle i OOP er polymorfisme. Det tillader et objekt at opføre sig på flere måder. Tidlig binding og sen binding er to begreber i polymorfisme. Overbelastningsmetoder er bundet ved hjælp af tidlig binding. Tilsidesatte metoder er bundet ved hjælp af sen binding.

Hvad er tidlig binding?

I Early Binding bruges klasseinformationen til at løse metodekald. Tidlig binding finder sted på kompileringstidspunktet. Det er også kendt som den statiske binding. I denne proces sker bindingen, før programmet rent faktisk kører. Overbelastningsmetoder er bundet ved hjælp af tidlig binding. Se nedenstående program.

Forskellen mellem tidlig og sen binding
Forskellen mellem tidlig og sen binding

Figur 01: Beregningsklasse

Forskellen mellem tidlig og sen binding_Figur 02
Forskellen mellem tidlig og sen binding_Figur 02

Figur 02: Hovedprogram for tidlig indbinding

I henhold til ovenstående program indeholder Calculation-klassen en add-metode, der accepterer to heltalsværdier, og en anden add-metode, der accepterer to dobbelte værdier. I hovedprogrammet oprettes et objekt af typen Beregning. Når to heltal overføres til add-metoden, vil det påberåbe add-metoden, der accepterer to heltal. Når du overfører to dobbelte værdier til add-metoden, vil den påberåbe den metode, der svarer til to dobbelte værdier. Denne bindingsproces finder sted på kompileringstidspunktet. Al nødvendig information er kendt før runtime, så det øger programmets effektivitet og eksekveringshastighed.

Hvad er sen binding?

I Late Binding bruges objektet til at løse metodekald. Sen binding opstår under kørsel. Det er også kendt som dynamisk binding. I denne proces sker bindingen ved programudførelse. Tilsidesatte metoder er bundet ved hjælp af sen binding. Se nedenstående program.

Forskellen mellem tidlig og sen binding_Figur 03
Forskellen mellem tidlig og sen binding_Figur 03

Figur 03: Formklasse

Forskellen mellem tidlig og sen binding_Figur 04
Forskellen mellem tidlig og sen binding_Figur 04

Figur 04: Cirkelklasse

Forskellen mellem tidlig og sen binding_Figur 05
Forskellen mellem tidlig og sen binding_Figur 05

Figur 05: Trekantklasse

Nøgleforskel mellem tidlig og sen binding
Nøgleforskel mellem tidlig og sen binding

Figur 06: Hovedprogram for sen indbinding

I henhold til ovenstående program har klasse Shape en tegnemetode. Klasse Cirkel og Klasse Trekant-klassen udvider Shape-klassen. Derfor kan disse to klasser arve Shape-klassens attributter og metoder. Shape Class er basisklassen. Cirkel- og Trekantklasser er afledte klasser. Klassen Cirkel og Klassetrekanten har også tegnemetoden med deres egne implementeringer. Så draw-metoden i Shape-klassen tilsidesættes af draw-metoderne for de afledte klasser.

I hovedprogrammet oprettes en referencevariabel s af typen Shape. På kompileringstidspunktet vil compileren kun henvise til basisklassens tegnemetode. Under kørsel udføres forskellige tegningsmetoder. Først vil s pege på objektet af typen Shape. Så tegnemetoden for Shape-klassen påberåbes. Så vil s'et pege på objektet af typen Circle, og det vil påkalde tegnemetoden i Circle-klassen. Til sidst vil s pege på objektet af typen Triangle, og det vil påkalde tegnemetoden i Triangle-klassen. Metoderne kaldes afhængigt af objekterne. Derfor bruges objektet til at løse metodekald i Late Binding. De oplysninger, der kræves til binding, leveres under kørsel, så hastigheden af udførelse er langsommere sammenlignet med tidlig binding.

Hvad er ligheden mellem tidlig binding og sen binding?

Både tidlig binding og sen binding er relateret til polymorfi, der er en søjle i OOP

Hvad er forskellen mellem tidlig binding og sen binding?

Tidlig binding vs. sen binding

Processen med at bruge klasseinformationen til at løse metodekald, der finder sted på kompileringstidspunktet, kaldes Early Binding. Processen med at bruge objektet til at løse metodekald, der finder sted under kørsel, kaldes Late Binding.
Tidspunkt for binding
Tidlig binding sker på kompileringstidspunktet. Sen binding sker under kørsel.
Functionality
Early Binding bruger klasseoplysningerne til at løse metodekald. Sen binding bruger objektet til at løse metodekald.
Synonymer
Tidlig binding er også kendt som statisk binding. Sen binding er også kendt som dynamisk binding.
Forekomst
Overbelastningsmetoder er bundet ved hjælp af tidlig binding. Overstyrede metoder er bundet ved hjælp af sen binding.
Udførelseshastighed
Udførelseshastigheden er hurtigere ved tidlig binding. Udførelseshastigheden er lavere ved sen binding.

Oversigt – Tidlig vs Sen Indbinding

OOP bruges almindeligvis til softwareudvikling. En vigtig søjle i OOP er polymorfi. Tidlig binding og sen binding er relateret til det. Tidlig binding opstår på kompileringstidspunktet, mens sen binding opstår ved kørsel. Ved metodeoverbelastning sker bindingen ved hjælp af den tidlige binding. Ved metodetilsidesættelse sker bindingen ved hjælp af den sene binding. Forskellen mellem Early og Late Binding er, at Early Binding bruger klasseinformationen til at løse metodekald, mens Late Binding bruger objektet til at løse metodekald.

Anbefalede: