რატომ არის დინამიური შეკვრა მნიშვნელოვანი პოლიმორფიზმის განხორციელებაში?
რატომ არის დინამიური შეკვრა მნიშვნელოვანი პოლიმორფიზმის განხორციელებაში?

ვიდეო: რატომ არის დინამიური შეკვრა მნიშვნელოვანი პოლიმორფიზმის განხორციელებაში?

ვიდეო: რატომ არის დინამიური შეკვრა მნიშვნელოვანი პოლიმორფიზმის განხორციელებაში?
ვიდეო: Simple Explanation of Polymorphism and Dynamic Binding 2024, მაისი
Anonim

დინამიური შეკვრა საშუალებას აძლევს წევრის ფუნქციის ზარის გადაჭრას გაშვების დროს, ობიექტის მითითების გაშვების დროის ტიპის მიხედვით. ეს საშუალებას აძლევს თითოეულ მომხმარებლის მიერ განსაზღვრულ კლასს მემკვიდრეობის იერარქიაში ჰქონდეს განსხვავებული განხორციელება კონკრეტული ფუნქციის.

ამის გათვალისწინებით, რა არის პოლიმორფიზმი ახსნას დინამიური კავშირის როლი პოლიმორფიზმის განხორციელებაში?

ეს არის ის, რასაც ჩვენ სტატიკურს ვუწოდებთ სავალდებულო : სავალდებულო სახელები ხდება კომპილაციის დროს (ანუ სტატიკური). ასეთ მექანიზმს ე.წ დინამიური შეკვრა : სავალდებულო სახელების ა განხორციელება ხდება გაშვების დროს (ე.ი. დინამიური ). დინამიური შეკვრა აუცილებელია ობიექტზე ორიენტირებული პროგრამირების ენებისთვის პოლიმორფიზმის განხორციელება.

ანალოგიურად, რა არის დინამიური შეკვრა? სტატიკური სავალდებულო იყენებს Type (კლასი Java-ში) ინფორმაციას for სავალდებულო ხოლო დინამიური შეკვრა იყენებს ობიექტს გადასაჭრელად სავალდებულო . გადატვირთული მეთოდები მიბმულია სტატიკური გამოყენებით სავალდებულო ხოლო გადაჭარბებული მეთოდების გამოყენებით დინამიური შეკვრა გაშვების დროს.

შემდგომში ჩნდება კითხვა, არის თუ არა დინამიური სავალდებულო პოლიმორფიზმი?

პოლიმორფიზმი ჯავაში აქვს ორი ტიპი: კომპილაციის დრო პოლიმორფიზმი (სტატიკური სავალდებულო ) და Runtime პოლიმორფიზმი ( დინამიური შეკვრა ). მნიშვნელოვანი მაგალითი პოლიმორფიზმი არის ის, თუ როგორ ეხება მშობელი კლასი ბავშვის კლასის ობიექტს. სინამდვილეში, ნებისმიერი ობიექტი, რომელიც აკმაყოფილებს ერთზე მეტ IS-A ურთიერთობას, არის პოლიმორფული ბუნებაში.

რამდენად სასარგებლოა დინამიური შეკვრა?

დინამიური შეკვრა მიიღწევა ვირტუალური ფუნქციების გამოყენებით. საბაზისო კლასის მაჩვენებელი მიუთითებს მიღებული კლასის ობიექტზე. და ფუნქცია გამოცხადებულია ვირტუალურად საბაზო კლასში, შემდეგ შესატყვისი ფუნქცია იდენტიფიცირებულია გაშვების დროს ვირტუალური ცხრილის ჩანაწერის გამოყენებით. როგორ ხდება ელემენტების გადაცემა ა ობიექტზე ორიენტირებული პროგრამირების ენა ( OOP )?

გირჩევთ: