Jak przeciążanie jest czasem kompilacji, a nadpisywanie jest runtime?

Ludzie

Natknąłem się na wiele wątków do zrozumienia polimorfizmu (zarówno czasu kompilacji, jak i czasu wykonywania). Byłem zaskoczony, widząc niektóre linki, w których programiści twierdzą, że przeciążanie jest runtime i overriding to czas kompilacji.

Chcę tutaj wiedzieć:

Polimorfizm środowiska wykonawczego z przykładem CZASU RZECZYWISTEGO i małym kodem oraz jaki scenariusz powinniśmy użyć.Czas kompilacji Polimorfizm z przykładem REAL TIME i małym kodem oraz kiedy używać.

Ponieważ czytałem wiele definicji teoretycznych, ale nie jestem usatysfakcjonowany zrozumieniem tego.

Pomyślałem też, że tam, gdzie ja również czułem, przeciążanie powinno być runtime, ponieważ, powiedzmy, mam metodę, która oblicza Area, tylko w czasie wykonywania decyduje, którą metodę przeciążenia wywołać w oparciu o parametry, które przekazuję (powiedz, jeśli tylko przejdę jeden parametr, powinien wystrzelić Square, a jeśli parametry to 2, powinien odpalić Rectangle) .... Więc czy nie mogę zażądać jego czasu działania? Jaki jest jego czas na komplikacje? (Większość mówi teoretycznie, przeciążanie jest czasem kompilacji, ale nawet nie daje poprawnego przykładu czasu rzeczywistego ... bardzo niewielu twierdzi, że jego czas działania) ....

Ponadto uważam, że nadpisywanie to czas kompilacji, ponieważ podczas pisania kodu i kompilacji upewniasz się, że użyłeś wirtualnego słowa kluczowego, a także nadpisałeś tę metodę w klasie pochodnej, która w przeciwnym razie spowodowałaby błąd czasu kompilacji. Czuję więc jego czas kompilacji, w taki sam sposób, w jaki widziałem w wątku ..... Ale większość wątków twierdzi, że działa: D

Jestem zdezorientowany :( To pytanie jest dodatkiem do mojego pytania 1 i 2. Proszę o pomoc w czasie rzeczywistym. Ponieważ już wiem o teoretycznych definicjach .... :(

Dziękuję Ci....

questionAnswers(3)

yourAnswerToTheQuestion