Pytania otagowane jako oop

Programowanie obiektowe to paradygmat programowania wykorzystujący „obiekty”: struktury danych składające się z pól danych i metod wraz z ich interakcjami.

10
Jak zapobiec modyfikacji pola prywatnego w klasie?
Wyobraź sobie, że mam tę klasę: public class Test { private String[] arr = new String[]{"1","2"}; public String[] getArr() { return arr; } } Teraz mam inną klasę, która używa powyższej klasy: Test test = new Test(); test.getArr()[0] ="some value!"; //!!! Oto więc problem: uzyskałem dostęp do prywatnego pola klasy …
165 java  arrays  oop  class 

11
Czy idiom pImpl jest rzeczywiście używany w praktyce?
Czytam książkę „Wyjątkowy C ++” Herba Suttera iw tej książce poznałem idiom pImpl. Zasadniczo chodzi o stworzenie struktury dla privateobiektów a classi dynamiczne przydzielanie ich, aby skrócić czas kompilacji (a także lepiej ukryć prywatne implementacje). Na przykład: class X { private: C c; D d; } ; można zmienić na: …
165 c++  oop  pimpl-idiom 


8
Iteruj po atrybutach obiektów w Pythonie
Mam obiekt Pythona z kilkoma atrybutami i metodami. Chcę iterować po atrybutach obiektów. class my_python_obj(object): attr1='a' attr2='b' attr3='c' def method1(self, etc, etc): #Statements Chcę wygenerować słownik zawierający wszystkie atrybuty obiektów i ich bieżące wartości, ale chcę to zrobić w sposób dynamiczny (więc jeśli później dodam kolejny atrybut, nie muszę również …



22
Orientacja obiektowa w C
Jaki byłby zestaw sprytnych hacków preprocesora (kompatybilnych z ANSI C89 / ISO C90), które umożliwiają jakąś brzydką (ale użyteczną) orientację obiektową w C? Znam kilka różnych języków zorientowanych obiektowo, więc nie odpowiadaj na pytania typu „Naucz się C ++!”. Przeczytałem " Programowanie obiektowe z ANSI C " (uwaga: format PDF …
157 c  oop  object 

8
Jak wywołać metodę nadrzędną z klasy potomnej w javascript?
Spędziłem ostatnie kilka godzin próbując znaleźć rozwiązanie mojego problemu, ale wydaje się to beznadziejne. Zasadniczo muszę wiedzieć, jak wywołać metodę nadrzędną z klasy podrzędnej. Wszystkie rzeczy, które próbowałem do tej pory, kończą się albo nie działają, albo nadpisują metodę nadrzędną. Używam następującego kodu, aby skonfigurować OOP w javascript: // SET …



13
Co to jest delegat? [Zamknięte]
Zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby skupiało się na jednym problemie, edytując ten post . Zamknięte 6 lat temu . Popraw to pytanie Nie wiem, jaka jest rzeczywista rola delegata? Pytanie to zadawano mi wielokrotnie w …
152 oop  delegates 

18
Łańcuch metod - dlaczego jest to dobra praktyka, czy nie?
Tworzenie łańcuchów metod to praktyka metod obiektowych zwracających sam obiekt w celu wywołania wyniku dla innej metody. Lubię to: participant.addSchedule(events[1]).addSchedule(events[2]).setStatus('attending').save() Wydaje się, że jest to dobra praktyka, ponieważ tworzy czytelny kod lub „płynny interfejs”. Jednak wydaje mi się, że zamiast tego wydaje mi się, że łamie notację wywoływania obiektów wynikającą …

12
Dziedziczenie a agregacja [zamknięte]
W obecnym stanie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi będą poparte faktami, referencjami lub ekspertyzą, 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 prawdopodobnie ponownie otworzyć, odwiedź centrum pomocy, aby uzyskać …

14
Co oznacza „niskie sprzężenie i wysoka spójność”
Mam problemy ze zrozumieniem tego stwierdzenia low in coupling and high in cohesion. Przeszukałem go i dużo o tym czytałem, ale nadal trudno mi to zrozumieć. Rozumiem przez to High cohesion, że powinniśmy mieć klasy wyspecjalizowane do wykonywania określonej funkcji. Mam nadzieję, że to prawda? Podobnie jak klasa weryfikacji kart …
151 oop  ooad 

4
Zastąp metody atrybutów ActiveRecord
Przykład o czym mówię: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Wydaje się, że to działa, ale właśnie przeczytałem sekcję dotyczącą zastępowania metod atrybutów w dokumentacji ActiveRecord :: Base i sugeruje użycie …

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.