Klasa abstrakcyjna to klasa, której nie można utworzyć instancji. Generalnie mają być rozszerzone / podklasy i generalnie mają „abstrakcyjne metody”, które muszą być implementowane przez podklasy.
Niedawno musiałem zaktualizować abstrakcyjną klasę bazową w niektórych OSS, których używałem, aby była bardziej testowalna, czyniąc je wirtualnymi (nie mogłem użyć interfejsu, ponieważ łączył dwa). To sprawiło, że pomyślałem, czy powinienem zaznaczyć wszystkie metody, których potrzebowałem wirtualny, czy też powinienem oznaczyć każdą publiczną metodę / właściwość wirtualną. I na ogół …
Ostatnio niepokoją mnie zastosowania klas abstrakcyjnych. Czasami klasa abstrakcyjna jest wcześniej tworzona i działa jako szablon tego, jak działają klasy pochodne. Oznacza to mniej więcej, że zapewniają one pewną funkcjonalność na wysokim poziomie, ale pomijają pewne szczegóły do zaimplementowania przez klasy pochodne. Klasa abstrakcyjna określa potrzebę tych szczegółów, wprowadzając pewne …
Koduję za pomocą wzorca stanu dla urządzenia osadzonego. Mam podstawową / abstrakcyjną klasę o nazwie State, a następnie każda dyskretna (konkretna) klasa stanu implementuje abstrakcyjną klasę State. W klasie państwowej mam kilka metod abstrakcyjnych. Jeśli nie zaimplementuję metod abstrakcyjnych w klasie dyskretnej (konkretnej), Visual Studio wyświetli błąd podobny do tego: …
Często dobrym pomysłem jest posiadanie abstrakcyjnej klasy bazowej do izolowania interfejsu obiektu. Problem polega na tym, że konstrukcja kopiowania, IMHO, jest domyślnie dość zepsuta w C ++, przy czym domyślnie generowane są konstruktory kopiowania. Więc jakie są problemy, kiedy masz abstrakcyjną klasę bazową i surowe wskaźniki w klasach pochodnych? class …
Powiedzmy, że mamy klasę abstrakcyjną i niech ta klasa ma tylko abstrakcyjne metody. Czy ta klasa abstrakcyjna różni się od interfejsu, który ma tylko te same metody? Chcę wiedzieć, czy istnieją jakieś różnice zarówno filozoficzne, obiektywne, jak i podstawowe w implementacji języka programowania między klasą abstrakcyjną zawierającą tylko elementy abstrakcyjne …
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.