Pytania oznaczone «traits»

W programowaniu komputerowym cechą jest zbiór metod używanych jako „prosty model konceptualny do tworzenia struktury programów zorientowanych obiektowo”

344
Cechy a interfejsy

Ostatnio próbuję uczyć się na PHP i odkrywałem, że jestem uzależniony od cech. Rozumiem koncepcję ponownego wykorzystania kodu horyzontalnego i nie chcę dziedziczyć po klasie abstrakcyjnej. Nie rozumiem tylko: jaka jest zasadnicza różnica między używaniem cech a interfejsami? Próbowałem znaleźć...

332
Co to jest zapieczętowana cecha?

Zapieczętowane klasy są opisane w „Programowaniu w Scali”, ale zapieczętowane cechy nie są. Gdzie mogę znaleźć więcej informacji na temat zapieczętowanej cechy? Chciałbym wiedzieć, czy zapieczętowana cecha jest taka sama jak zapieczętowana klasa? A jeśli nie, jakie są różnice? Kiedy warto...

116
Domyślne metody Java 8 jako cechy: bezpieczne?

Czy bezpieczną praktyką jest używanie metod domyślnych jako wersji cech dla ubogich w Javie 8? Niektórzy twierdzą, że pandy mogą być smutne, jeśli używasz ich tylko ze względu na to, że są fajne, ale nie taki jest mój zamiar. Często przypomina się również, że domyślne metody zostały wprowadzone w...

90
Kiedy używać val lub def w cechach Scala?

Przeglądałem efektywne slajdy scala i na slajdzie 10 wspomina się, że nigdy nie używaj valich traitjako abstrakcyjnych członków i używaj defzamiast tego. Slajd nie wspomina szczegółowo, dlaczego użycie abstrakcji valw a traitjest anty-wzorcem. Byłbym wdzięczny, gdyby ktoś mógł wyjaśnić najlepsze...

84
Jaki jest sens cech postaci STL?

Zauważyłem, że w mojej kopii odniesienia do SGI STL jest strona o cechach postaci, ale nie widzę, jak są one używane? Czy zastępują funkcje string.h? Wydaje się, że nie są używane przez std::string, np. length()Metoda on std::stringnie korzysta z length()metody cech charakteru . Dlaczego cechy...

83
Dlaczego PHP Trait nie może implementować interfejsów?

Zastanawiam się, dlaczego PHP Trait (PHP 5.4) nie może implementować interfejsów. Aktualizacja z answer => ... użytkownika1460043 nie może wymagać klasy, która używa jej do implementacji określonego interfejsu Rozumiem, że może to być oczywiste, ponieważ ludzie mogą pomyśleć, że jeśli a...