Czy GetType () zwróci najbardziej pochodny typ, gdy zostanie wywołany z klasy bazowej? Przykład: public abstract class A { private Type GetInfo() { return System.Attribute.GetCustomAttributes(this.GetType()); } } public class B : A { //Fields here have some custom attributes added to them } Czy powinienem po prostu utworzyć metodę abstrakcyjną, …
Nie jestem biegły w Haskellu, więc może to być bardzo łatwe pytanie. Jakie ograniczenie językowe rozwiązuje Rank2Types ? Czy funkcje w Haskell nie obsługują już argumentów polimorficznych?
Wszyscy wiemy, jakie funkcje wirtualne są w C ++, ale jak są wdrażane na głębokim poziomie? Czy tabela vtable może być modyfikowana lub nawet dostępna bezpośrednio w czasie wykonywania? Czy tabela vtable istnieje dla wszystkich klas, czy tylko tych, które mają co najmniej jedną funkcję wirtualną? Czy klasy abstrakcyjne mają …
Prawie każdy zasób C ++, który widziałem, który omawia tego rodzaju rzeczy, mówi mi, że powinienem preferować podejście polimorficzne od używania RTTI (identyfikacja typu w czasie wykonywania). Ogólnie rzecz biorąc, traktuję tego rodzaju rady poważnie i spróbuję zrozumieć uzasadnienie - w końcu C ++ to potężna bestia i trudna do …
Czasami zauważam awarie programów na moim komputerze z błędem: „czyste wywołanie funkcji wirtualnej”. Jak te programy nawet kompilują się, gdy nie można utworzyć obiektu z klasy abstrakcyjnej?
Mam problem z deserializacją łańcucha JSON za pomocą Gson. Otrzymuję szereg poleceń. Poleceniem może być start, stop lub inny typ polecenia. Oczywiście mam polimorfizm, a polecenie start / stop dziedziczy po poleceniu. Jak mogę serializować go z powrotem do właściwego obiektu polecenia za pomocą gson? Wydaje się, że otrzymuję tylko …
Pracuję nad aplikacją wielowątkową i chcę ją debugować za pomocą GDB. Problem w tym, że jeden z moich wątków umiera wraz z komunikatem: pure virtual method called terminate called without an active exception Abort Znam przyczynę tej wiadomości, ale nie mam pojęcia, gdzie w moim wątku się pojawia. Ślad wsteczny …
Łańcuch operacji „instanceof” jest uważany za „zapach kodu”. Standardowa odpowiedź brzmi „użyj polimorfizmu”. Jak bym to zrobił w tym przypadku? Istnieje wiele podklas klasy bazowej; żaden z nich nie jest pod moją kontrolą. Analogiczna sytuacja miałaby miejsce w przypadku klas Java Integer, Double, BigDecimal itp. if (obj instanceof Integer) {NumberStuff.handle((Integer)obj);} …
Przeczytałem kilka artykułów na temat polimorfizmu, które mogłem znaleźć w Internecie . Ale myślę, że nie mogłem do końca pojąć jego znaczenia i wagi. Większość artykułów nie mówi, dlaczego jest to ważne i jak mogę osiągnąć polimorficzne zachowanie w OOP (oczywiście w JavaScript). Nie mogę podać żadnego przykładu kodu, ponieważ …
Mam hierarchię obiektów, którą muszę ujawnić za pośrednictwem interfejsu API RESTful i nie jestem pewien, jak powinny być zbudowane moje adresy URL i co powinny zwracać. Nie udało mi się znaleźć żadnych najlepszych praktyk. Powiedzmy, że mam psy i koty dziedziczące po zwierzętach. Potrzebuję operacji CRUD na psach i kotach; …
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się tylko na jednym problemie, edytując ten post . Zamknięte 5 lat temu . Popraw to pytanie Spojrzałem na inne definicje i wyjaśnienia i żadne z nich mnie nie …
Utworzyłem następującą hierarchię klas: open class A { init { f() } open fun f() { println("In A f") } } class B : A() { var x: Int = 33 init { println("x: " + x) } override fun f() { x = 1 println("x in f: "+ x) …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.