W tym semestrze na studiach mam programowanie obiektowe z kursem c ++ i uczyliśmy się o funkcjach przyjaciela. Instynktownie ich nie lubię za to, że potrafią ominąć zabezpieczenia zapewniane przez enkapsulację i ukrywanie danych. Przeczytałem kilka artykułów w Internecie, a niektórzy uważali, że to dobry pomysł, jeśli ma uzasadnione zastosowanie. …
Rok lub dwa lata temu zobaczyłem doskonały artykuł na temat OOP (Java), który pokazał postęp prostego konkretnego rejestratora dwóch lub trzech linii kodu oraz teoretyczne nadmierne procesy myślowe przez niedoświadczonego programistę, który w zasadzie powiedział: och, powinienem dodaj to na wypadek, gdybyśmy tego chcieli! Pod koniec artykułu ten prosty program …
Chociaż w poniższym kodzie użyto prostego zakupu pojedynczego elementu w witrynie e-commerce, moje ogólne pytanie dotyczy aktualizacji wszystkich członków danych, aby dane obiektu były zawsze aktualne. Znalazłem „spójność” i „stan jest zły” jako odpowiednie wyrażenia, omówione tutaj: https://en.wikibooks.org/wiki/Object_Oriented_Programming#.22State.22_is_Evil.21 <?php class CartItem { private $price = 0; private $shipping = 5; …
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 4 lata temu . Ponieważ język maszynowy (np. 0110101000110101) Języki komputerowe ewoluowały w kierunku wyższych form abstrakcji, ogólnie ułatwiając …
JVM obsługuje tak wiele języków innych niż Java, jak Groovy,Clojure,Scalaitp., Które są językami funkcjonalnymi w przeciwieństwie do Javy (mam na myśli Javę przed wersją 8, gdzie Lambda'snie są obsługiwane), która nie obsługuje funkcji funkcjonalnych. Na wysokim poziomie, co sprawia, że JVM jest tak wszechstronny, że może obsługiwać zarówno języki obiektowe, …
Pewna awaria OOP jest pokazana z klasą Kwadrat dziedziczącą po Prostokącie, gdzie logicznie Kwadrat jest specjalizacją Prostokąta i dlatego powinien dziedziczyć po nim, ale wszystko się rozpada, gdy próbujesz zmienić długość lub szerokość Kwadratu. Czy istnieje konkretny termin opisujący, co dzieje się w tej sprawie?
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, 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 …
W świecie C ++ i Java widzę wiele możliwych do natychmiastowego utworzenia klas, które nie mają żadnego stanu. Naprawdę nie mogę zrozumieć, dlaczego ludzie to robią, mogliby po prostu użyć przestrzeni nazw z darmowymi funkcjami w C ++ lub klasy z prywatnym konstruktorem i tylko statycznymi metodami w Javie. Jedyną …
Jeśli masz klasę, która dziedziczy z dwóch odrębnych klas, czy nie oznacza to, że twoja podklasa automatycznie (przynajmniej) 2 rzeczy, po jednej z każdej nadklasy? Uważam, że nie ma różnicy, jeśli masz wiele interfejsów dziedziczenia. Edycja: Dla jasności uważam, że jeśli podklasowanie wielu klas narusza SRP, to implementacja wielu interfejsów …
Czytałem artykuł programistyczny, w którym wspomniałem o wzorze dekoratora. Przez jakiś czas programowałem, ale nie miałem formalnego wykształcenia ani szkolenia, ale staram się poznać standardowe wzorce i tym podobne. Poszukałem Dekoratora i znalazłem na nim artykuł w Wikipedii . Teraz rozumiem koncepcję wzoru Dekoratora, ale ten fragment był mnie trochę …
Im więcej dowiaduję się o różnych paradygmatach programowania, takich jak programowanie funkcjonalne, tym bardziej zaczynam kwestionować mądrość koncepcji OOP, takich jak dziedziczenie i polimorfizm. Po raz pierwszy dowiedziałem się o dziedziczeniu i polimorfizmie w szkole, a polimorfizm wydawał się wtedy wspaniałym sposobem na pisanie kodu ogólnego, który pozwalał na łatwą …
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 . Czy uważasz, że programowanie obiektowe jest rozwiązaniem złożoności. Dlaczego? Ten temat może być nieco kontrowersyjny, …
W naszej aplikacji Rails dodajemy powiadomienia. Niektóre z nich to blocking: Zatrzymują postęp dodawanego zasobu, ponieważ brakuje niektórych informacji o tym zasobie. Inne powiadomienia są prostymi powiadomieniami i zawierają jedynie informacje. Dzisiaj rozmawiałem z innym programistą w naszym zespole. Utworzyłem następującą strukturę dziedziczenia: Wolałby jednak, abym po prostu dodał blockingjako …
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. To bardziej stylowe pytanie, ale zastanawiam się nad moim projektem. Załóżmy, że tworzysz aplikację, która modeluje szkołę. Istnieją więc podmioty …
Wygląda na to, że kod F # często wzoruje dopasowania względem typów. Na pewno match opt with | Some val -> Something(val) | None -> Different() wydaje się powszechne. Ale z punktu widzenia OOP wygląda to bardzo podobnie do przepływu kontroli opartego na sprawdzeniu typu środowiska wykonawczego, na którym zwykle …
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.