Powiedzmy, że mam klasę wroga, a konstruktor wyglądałby mniej więcej tak: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Wygląda to źle, ponieważ konstruktor ma tak wiele parametrów, ale kiedy tworzę instancję wroga, muszę określić wszystkie te rzeczy. Chcę również …
Aby wyjaśnić, pytam o to public class A{ private/*or public*/ B b; } vs. public class A{ private/*or public*/ class B{ .... } } Zdecydowanie mogę wymyślić kilka powodów, aby użyć jednego lub drugiego, ale tak naprawdę chciałbym zobaczyć przekonujące przykłady, które pokazują, że zalety i wady są nie tylko …
Pracuję w projekcie, który dotyczy urządzeń fizycznych i byłem zdezorientowany, jak prawidłowo nazwać niektóre klasy w tym projekcie. Biorąc pod uwagę fakt, że rzeczywiste urządzenia (czujniki i odbiorniki) to jedno, a ich reprezentacja w oprogramowaniu jest inna, myślę o nadaniu nazw niektórym klasom za pomocą wzorca nazwy sufiksu „Info”. Na …
W większości kodu Java widzę, że ludzie deklarują takie obiekty Java: Map<String, String> hashMap = new HashMap<>(); List<String> list = new ArrayList<>(); zamiast: HashMap<String, String> hashMap = new HashMap<>(); ArrayList<String> list = new ArrayList<>(); Dlaczego preferuje się definiowanie obiektu Java za pomocą interfejsu, a nie implementacji, która będzie faktycznie używana?
Przy projektowaniu klas do przechowywania modelu danych przeczytałem, że przydatne może być tworzenie niezmiennych obiektów, ale w którym momencie ciężar listy parametrów konstruktora i głębokich kopii staje się zbyt duży i trzeba zrezygnować z niezmiennego ograniczenia? Na przykład, tutaj jest niezmienna klasa reprezentująca nazwaną rzecz (używam składni C #, ale …
W naszej bazie kodu Java wciąż widzę następujący wzorzec: /** This is a stateless utility class that groups useful foo-related operations, often with side effects. */ public class FooUtil { public int foo(...) {...} public void bar(...) {...} } /** This class does applied foo-related things. */ class FooSomething { …
Mam klasę, która będzie czytać z Excela (C # i .Net 4), aw tej klasie mam proces roboczy w tle, który załaduje dane z Excela, podczas gdy interfejs użytkownika może pozostać responsywny. Moje pytanie brzmi: czy źle jest mieć pracownika pracującego w tle w klasie? Czy powinienem utworzyć swoją klasę …
Oto co mam na myśli: class MyClass { int arr1[100]; int arr2[100]; int len = 100; void add(int* x1, int* x2, int size) { for (int i = 0; i < size; i++) { x1[i] += x2[i]; } } }; int main() { MyClass myInstance; // Fill the arrays... myInstance.add(myInstance.arr1, …
Właśnie zaczynam od RxJava , implementacji Java ReactiveX (znanej również jako Rx i Reactive Extensions ). Coś, co naprawdę uderzyło mnie był ogromny rozmiar RxJava w płynnej klasy : ma 460 sposobów! Aby być uczciwym: Istnieje wiele metod, które są przeciążone, co znacznie zwiększa całkowitą liczbę metod. Być może ta …
Załóżmy na przykład, że masz program do gier konsolowych, który ma wszystkie metody wejścia / wyjścia do iz konsoli. Byłoby inteligentny, aby utrzymać je wszystkie w jednej inputOutputklasie lub przerwać je do większej liczby klas konkretnych jak startMenuIO, inGameIO, playerIO, gameBoardIO, itd. Tak, że każda klasa ma około 1-5 metodami? …
W weekend pisałem trochę kodu i chciałem napisać fabrykę jako metodę statyczną w klasie bazowej. Moim pytaniem jest po prostu wiedzieć, czy jest to podejście idomatyczne? Wydaje mi się, że może nie być tak, że klasa podstawowa ma wiedzę o klasie pochodnej. To powiedziawszy, nie jestem pewien prostszego sposobu na …
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 / …
Na przykład, czy lepiej zrobić: Pdf pdf = new Pdf(); pdf.Print(); lub: Pdf pdf = new Pdf(); PdfPrinter printer = new PdfPrinter(); printer.Print(pdf); Inny przykład: Country m = new Country("Mexico"); double ratio = m.GetDebtToGDPRatio(); lub: Country m = new Country("Mexico"); Country us = new Country("US"); DebtStatistics ds = new DebtStatistics(); …
Mam Characterklasę linii 2500, która: Śledzi wewnętrzny stan postaci w grze. Ładuje i utrzymuje ten stan. Obsługuje ~ 30 przychodzących poleceń (zwykle = przekazuje je do Game, ale niektóre polecenia tylko do odczytu są natychmiast reagowane). Odbiera ~ 80 połączeń od Gamepodejmowanych działań i odpowiednich działań innych osób. Wydaje mi …
Mam klasę C #, która reprezentuje typ zawartości w systemie zarządzania treścią internetową. Mamy pole, które pozwala edytorowi treści WWW wprowadzić szablon HTML do wyświetlania obiektu. Zasadniczo używa składni kierownicy do podstawiania wartości właściwości obiektu w ciągu HTML: <h1>{{Title}}</h1><p>{{Message}}</p> Czy z perspektywy projektowania klas powinienem udostępniać sformatowany ciąg HTML (z …
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.