Przeszedłem przez większość studiów programistycznych. Nie jest to stopień informatyki, więc wiele teorii odrzucono na rzecz praktycznego budowania portfolio i tego, co uważam za naukę JIT, co jest najwyraźniej ważniejsze w branży gier. Pierwszym tematem było „Wprowadzenie do programowania obiektowego”. To zdanie nie przeszkadzało mi, dopóki nie dowiedziałem się o …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Chcesz poprawić ten post? Podaj szczegółowe odpowiedzi na to pytanie, w tym cytaty i wyjaśnienie, dlaczego Twoja odpowiedź jest poprawna. Odpowiedzi bez wystarczającej ilości szczegółów mogą być edytowane lub usuwane. Szukam różnych sposobów, aby upewnić się, że każda instancja danej klasy jest instancją jednoznacznie identyfikowalną. Na przykład mam Nameklasę z …
Zainspirowany tą odpowiedzią: Wymaga tego zasada substytucji Liskowa W podtypie nie można wzmocnić warunków wstępnych. Warunki podrzędne nie mogą zostać osłabione w podtypie. Niezmienniki nadtypu muszą być zachowane w podtypie. Ograniczenie historii („reguła historii”). Obiekty są uważane za modyfikowalne tylko za pomocą ich metod (enkapsulacji). Ponieważ podtypy mogą wprowadzać metody, …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów inżynierii oprogramowania. Zamknięte 4 lata temu . Pracuję dla średniej firmy, która ma około 250 programistów. Niestety wiele z nich utknęło w proceduralnym sposobie myślenia, a …
Mam kilka ogromnych klas ponad 2k wierszy kodu (i ciągle rośnie), które chciałbym przebudować, jeśli to możliwe, aby mieć trochę więcej lekkiego i czystego projektu. Powód, dla którego jest tak duży, to głównie dlatego, że klasy te obsługują zestaw map, do których większość metod potrzebuje dostępu, a metody są ze …
Orientacja obiektowa bardzo mi pomogła w implementacji wielu algorytmów. Jednak języki zorientowane obiektowo czasami prowadzą cię w „bezpośrednim” podejściu i wątpię, czy takie podejście jest zawsze dobre. OO jest naprawdę pomocne w szybkim i łatwym kodowaniu algorytmów. Ale czy ten OOP może być niekorzystny dla oprogramowania opartego na wydajności, tj. …
Czasami słyszę, że posiadanie zbyt wielu klas „menedżerskich” w projekcie twojego programu to zapach kodu i niepotrzebna warstwa złożoności. Dla mnie ma sens, że ludzie chcą używać klas menedżerów do manipulowania obiektami i kontrolowania ich z kontekstu, który ma dla nich sens, ale zastanawianie się, jak sprawić, by rozwiązanie działało …
Muszę zaprojektować hierarchię klas dla mojego projektu w języku C #. Zasadniczo funkcje klas są podobne do klas WinForms, więc weźmy na przykład zestaw narzędzi WinForms. (Nie mogę jednak użyć WinForms ani WPF.) Istnieje kilka podstawowych właściwości i funkcjonalności, które musi zapewnić każda klasa. Wymiary, pozycja, kolor, widoczność (prawda / …
Dzisiaj zauważyłem, że zasadniczo nigdy nie używam protectedmetod w kodzie C ++, ponieważ rzadko czuję potrzebę wywoływania niepublicznych metod rodzica. Używam trybu chronionego w Javie we wzorcu metod szablonów, ale ponieważ możesz zastąpić metody prywatne w C ++, ja też nie potrzebuję protected. Więc jakie są niektóre scenariusze w świecie …
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 6 lat temu . Pamiętam, że czytałem gdzieś, że oryginalne koncepcje OO polegały na znalezieniu lepszej architektury do obsługi …
Często używamy struktur c ++ do definiowania struktury danych w przeciwieństwie do klasy, która może być kompletnym modułem z metodami składowymi. W głębi duszy wiemy, że oba są takie same (luźno mówiąc). Fakt, że często używamy / traktujemy struktury jako jednostki tylko danych, powoduje, że nie dodajemy również domyślnych konstruktorów. …
Jestem rozdarty między projektowaniem obiektowym a projektowaniem wektorowym. Uwielbiam umiejętności, strukturę i bezpieczeństwo, jakie obiekty dają całej architekturze. Ale jednocześnie szybkość jest dla mnie bardzo ważna, a posiadanie prostych zmiennych zmiennoprzecinkowych w tablicy naprawdę pomaga w językach / bibliotekach wektorowych, takich jak Matlab lub numpy w Pythonie. Oto fragment kodu, …
Podczas programowania w OOP czasami biblioteka / interfejs udostępnia interfejs, którego nie można zmienić. Nazwijmy ten interfejs J. Teraz masz obiekt klasy A, który zużywa obiekty implementujące ten interfejs. Wewnątrz Potrzebna jest tylko niewielka część definicji interfejsu. Niektóre klasy obiektów są tworzone przeze mnie podczas projektu (nazwijmy jedną z nich …
Piszę testy jednostkowe JUnit dla moich zajęć. Czy lepiej jest mieć osobną klasę dla każdej metody, czy mieć tylko jedną klasę testową dla każdej rzeczywistej klasy?
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.