Podobno Alan Kay jest wynalazcą terminu „obiektowy”. I często jest cytowany, jak powiedział, że to, co dzisiaj nazywamy OO, nie jest tym, co miał na myśli. Na przykład właśnie znalazłem to w Google: Stworzyłem termin „obiektowy” i mogę powiedzieć, że nie miałem na myśli C ++ - Alan Kay, OOPSLA …
Podstawową ideą OOP jest to, że dane i zachowanie (na podstawie tych danych) są nierozłączne i łączy je idea obiektu klasy. Obiekt ma dane i metody, które działają z tym (i innymi danymi). Oczywiście zgodnie z zasadami OOP obiekty, które są tylko danymi (jak struktury C) są uważane za anty-wzorzec. …
Ostatnio dużo mówiłem o używaniu języków funkcjonalnych, takich jak Haskell. Jakie są duże różnice, zalety i wady programowania funkcjonalnego w porównaniu z programowaniem obiektowym?
Wydaje się, że C ma swoje quasi-obiekty, takie jak „struktury”, które można uznać za obiekty (w sposób, w jaki normalnie myślimy). A także same pliki C są w zasadzie osobnymi „modułami”, prawda? Czy zatem moduły nie są też czymś w rodzaju „obiektów”? Jestem zdezorientowany, dlaczego C, który wydaje się tak …
Dużo koduję zarówno w C, jak i C ++, ale nie spodziewałem się, że C będzie drugim najpopularniejszym językiem, nieco za Javą. Indeks społeczności programistycznych TIOBE Ciekawe, dlaczego w tym wieku OOP C jest nadal tak popularny? Zauważ, że 4 z 5 najpopularniejszych języków programowania to „nowoczesne”, zorientowane obiektowo języki. …
Kiedy zacząłem używać języka obiektowego (Java), po prostu przeszedłem na „Cool” i zacząłem kodować. Nigdy tak naprawdę nie myślałem o tym aż do niedawna po przeczytaniu wielu pytań na temat OOP. Mam ogólne wrażenie, że ludzie się z tym zmagają. Ponieważ nie uważałem tego za trudne i nie powiedziałbym, że …
Często można usłyszeć, że OOP naturalnie odpowiada temu, jak ludzie myślą o świecie. Ale zdecydowanie nie zgodziłbym się z tym stwierdzeniem: my (lub przynajmniej ja) konceptualizujemy świat w kategoriach relacji między rzeczami, które napotykamy, ale OOP koncentruje się na projektowaniu poszczególnych klas i ich hierarchii. Zauważ, że w życiu codziennym …
Mam trochę trudności z projektowaniem zajęć w sposób oo. Czytałem, że obiekty ujawniają swoje zachowanie, a nie dane; dlatego zamiast używać getter / setters do modyfikowania danych, metodami danej klasy powinny być „czasowniki” lub akcje działające na obiekcie. Na przykład, w „Konto” obiektu, musielibyśmy metody Withdraw()i Deposit()zamiast setAmount()itd. Patrz: Dlaczego …
W debacie na temat modeli domen Rich vs. Anemic Internet jest pełen porad filozoficznych, ale brakuje autorytatywnych przykładów. Celem tego pytania jest znalezienie ostatecznych wytycznych i konkretnych przykładów prawidłowych modeli projektowania opartych na domenie. (Idealnie w C #.) Na przykład w rzeczywistości ta implementacja DDD wydaje się nieprawidłowa: Poniższe modele …
Czy obiekt musi reprezentować byt? Przez podmiot mam na myśli coś takiego jak Product, Motor, A ParkingLotitd, fizyczne, a nawet jednoznaczne niefizyczne koncepcyjne przedmiot - coś, co jest dobrze zdefiniowany, a niektóre podstawowe dane wyraźnie należący do obiektu, a niektóre funkcje / metody które wyraźnie działają na podstawowych danych. Na …
Javascript jest językiem obiektowym opartym na prototypach, ale może zostać oparty na klasach na różne sposoby, poprzez: Samodzielne pisanie funkcji, które mają być używane jako klasy Użyj fajnego systemu klas w ramach (takich jak mootools Class.Class ) Wygeneruj go z Coffeescript Na początku pisałem kod oparty na klasach w JavaScript …
Próbuję zrozumieć różnicę między językami proceduralnymi, takimi jak C, a językami obiektowymi, takimi jak C ++. Nigdy nie korzystałem z C ++, ale rozmawiałem z przyjaciółmi o tym, jak je rozróżnić. Powiedziano mi, że C ++ ma koncepcje obiektowe, a także tryby publiczne i prywatne do definiowania zmiennych: rzeczy, których …
Stroustrup mówi: „Nie od razu wymyśl wyjątkową bazę dla wszystkich swoich klas (klasę Object). Zazwyczaj możesz zrobić to lepiej bez wielu / większości klas”. (Czwarta edycja języka programowania C ++, Sec 1.3.4) Dlaczego generalnie klasa podstawowa jest na ogół złym pomysłem i kiedy warto go stworzyć?
Dlaczego wielu programistów narusza zasadę otwartego / zamkniętego , modyfikując wiele rzeczy, takich jak zmiana nazw funkcji, które spowodują uszkodzenie aplikacji po aktualizacji? To pytanie przeskakuje mi do głowy po szybkich i ciągłych wersjach biblioteki React . Co krótki okres zauważam wiele zmian w składni, nazwach komponentów, itp Przykład w …
Chciałem tylko wyjaśnić moje pytanie. Jaki jest sens posiadania prywatnej metody statycznej, a nie zwykłej metody z prywatną widocznością? Myślałbym, że zaletą posiadania metody statycznej jest to, że można ją wywoływać bez wystąpienia klasy, ale skoro jest ona prywatna, to czy jest w tym sens, że jest statyczna? Jedynym powodem, …
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.