@hapaczuri Moim zdaniem jeżeli interface nie ma domyślnej implementacji metody, to nie zachodzi przesłonięcie - bo jakby nie patrzeć nie ma implementacji, którą możesz przesłaniać - jeżeli jej nie zaimplementujesz, to się wyjebie
A z drugiej strony dodaje się @Override ¯\_( ͡° ͜ʖ ͡°)_/¯
Edit. po poniższych odpowiedziach, chyba nieprawidłowo zrozumiałem pytanie
@hapaczuri a można po angielsku? Co to jest przesłonięcie? Chodzi o method override?
@globalbus Zakładam że OPowi chodzi o https://en.wikipedia.org/wiki/Variable_shadowing
@globalbus @baklazan chodzi o override
@hapaczuri o matko, zakładałem że mówisz o tym: https://pl.m.wikipedia.org/wiki/Przes%C5%82anianie ; D
Serio, IT jest po angielsku, wywalam angielszczyzny skąd się da, ale nie w języku branżowym, właśnie z powodu powyższego.
W takim razie odpowiedź brzmi: Tak. To jest klasyczny polimorfizm dynamiczny.
@hapaczuri Nie. Przesłonięcie polega na tym że w lokalnej przestrzeni nazw jedna nazwa przesłania inną. Tutaj obie nazwy (Interfejs.metoda i Klasa.metoda) są dalej widoczne tak jak były.
Dla czytających później: jednak opowi chodziło o coś innego niż "variable shadowing"
CC: @LondoMollari
Zaloguj się aby komentować