Pytania otagowane jako interface

Interfejs odnosi się do wyznaczonego punktu interakcji z komponentem. Interfejsy mają zastosowanie zarówno na poziomie sprzętu, jak i oprogramowania. --- Odnosi się również do elementu języka „interface”, który jest jedynym wyjątkiem od dziedziczenia pojedynczego w językach Java, C # i podobnych.


30
Interfejs vs Klasa abstrakcyjna (ogólne OO)
Niedawno miałem dwa wywiady telefoniczne, w których zapytano mnie o różnice między klasą interfejsu a klasą abstrakcyjną. Wyjaśniłem każdy aspekt, o którym mogłem pomyśleć, ale wygląda na to, że czekają, aż wymienię coś konkretnego i nie wiem, co to jest. Z mojego doświadczenia wynika, że ​​następujące są prawdziwe. Jeśli brakuje …

30
Co to znaczy „programować do interfejsu”?
Widziałem to kilka razy i nie jestem pewien, co to znaczy. Kiedy i dlaczego miałbyś to zrobić? Wiem, co robią interfejsy, ale fakt, że nie mam jasności co do tego, sprawia, że ​​myślę, że nie używam ich poprawnie. Czy tak jest, jeśli miałbyś zrobić: IInterface classRef = new ObjectWhatever() Możesz …


30
Interfejs a klasa podstawowa
Kiedy powinienem używać interfejsu, a kiedy powinienem używać klasy bazowej? Czy powinien to zawsze być interfejs, jeśli nie chcę definiować podstawowej implementacji metod? Jeśli mam klasę psów i kotów. Dlaczego miałbym chcieć wdrożyć IPet zamiast PetBase? Rozumiem, że mam interfejsy dla ISheds lub IBarków (IMakesNoise?), Ponieważ mogą one być umieszczane …


12
Interfejsy C #. Implementacja niejawna a implementacja jawna
Jakie są różnice we wdrażaniu interfejsów niejawnie i jawnie w języku C #? Kiedy należy używać niejawnego, a kiedy jawnego? Czy są jakieś zalety i / lub wady jednego lub drugiego? Oficjalne wytyczne Microsoft (z pierwszej edycji Framework Design Guidelines ) stwierdzają, że użycie jawnych implementacji nie jest zalecane , …
632 c#  .net  interface 



15
Kiedy stosować: domyślna metoda interfejsu Java 8+, a nie metoda abstrakcyjna
Java 8 pozwala na domyślną implementację metod w interfejsach zwanych metodami domyślnymi . Nie jestem pewien interface default method, kiedy powinienem użyć tego rodzaju zamiast abstract class(z abstract method(s)). Kiedy zatem należy stosować interfejs z metodami domyślnymi, a kiedy należy stosować klasę abstrakcyjną (z metodami abstrakcyjnymi)? Czy klasy abstrakcyjne są …

24
Dlaczego nie mogę zdefiniować metody statycznej w interfejsie Java?
EDYCJA: Od Java 8 metody statyczne są teraz dozwolone w interfejsach. Oto przykład: public interface IXMLizable<T> { static T newInstanceFromXML(Element e); Element toXMLElement(); } Oczywiście, że to nie zadziała. Ale dlaczego nie? Jednym z możliwych problemów może być to, co dzieje się, gdy zadzwonisz: IXMLizable.newInstanceFromXML(e); W tym przypadku myślę, że …


29
Jak powinienem wyjaśnić różnicę między interfejsem a klasą abstrakcyjną?
W jednym z moich wywiadów poproszono mnie o wyjaśnienie różnicy między klasą interfejsu a klasą abstrakcyjną . Oto moja odpowiedź: Metody interfejsu Java są domyślnie abstrakcyjne i nie mogą mieć implementacji. Klasa abstrakcyjna Java może mieć metody instancji, które implementują domyślne zachowanie. Zmienne zadeklarowane w interfejsie Java są domyślnie ostateczne. …

15
Czy powinniśmy @Override implementację metody interfejsu?
Czy metoda, która implementuje metodę interfejsu, powinna być opatrzona adnotacjami @Override? Javadoc z Overridedopiskiem mówi: Wskazuje, że deklaracja metody ma zastąpić deklarację metody w nadklasie. Jeśli metoda jest opatrzona adnotacjami za pomocą tego typu adnotacji, ale nie zastępuje metody nadklasy, kompilatory są wymagane do wygenerowania komunikatu o błędzie. Nie sądzę, …


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.