Pytania otagowane jako object-oriented

Metodologia umożliwiająca modelowanie systemu jako zestawu obiektów, które można kontrolować i manipulować w sposób modułowy

3
Programowanie obiektowe: dlaczego „zorientowane”?
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 …


5
Sposoby zapewnienia unikalnych wystąpień klasy?
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 …

1
Jak zweryfikować zasadę podstawienia Liskowa w hierarchii dziedziczenia?
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, …


9
Jak podzielić duże, ściśle powiązane klasy?
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 …

10
Czy orientacja obiektowa naprawdę wpływa na wydajność algorytmu?
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. …



6
Scenariusze rzeczywistych metod chronionych
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 …


3
Czy powinniśmy dodawać konstruktory do struktur?
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. …

2
Programowanie obiektowe a programowanie wektorowe
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, …

6
Jak zaimplementować tylko część interfejsu
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 …


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.