#java Jeśli klasa implementuje interfejs, który zawiera sam nagłówek metody, której klasa nadaje implementację, to czy jest to przykład przesłonięcia?
HmmJakiWybracNick

@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 Nie można przesłonić czegoś, czego nie ma.

A z drugiej strony dodaje się @Override ¯\_( ͡° ͜ʖ ͡°)_/¯


Edit. po poniższych odpowiedziach, chyba nieprawidłowo zrozumiałem pytanie

globalbus

@hapaczuri a można po angielsku? Co to jest przesłonięcie? Chodzi o method override?

hapaczuri

@globalbus @baklazan chodzi o override

baklazan

@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.

baklazan

@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.

baklazan

Dla czytających później: jednak opowi chodziło o coś innego niż "variable shadowing"


CC: @LondoMollari

Zaloguj się aby komentować