Pytania oznaczone «oop»

172
Null sprawdza w rozszerzonej pętli for

Jaki jest najlepszy sposób ochrony przed zerami w pętli for w Javie? To wydaje się brzydkie: if (someList != null) { for (Object object : someList) { // do whatever } } Lub if (someList == null) { return; // Or throw ex } for (Object object : someList) { // do whatever } Inaczej może nie...

170
Kiedy używać klas statycznych, a kiedy utworzonych z instancji

PHP to mój pierwszy język programowania. Nie mogę się do końca ogarnąć, kiedy używać klas statycznych, a kiedy obiektów utworzonych. Zdaję sobie sprawę, że możesz powielać i klonować obiekty. Jednak przez cały mój czas używania php każdy obiekt lub funkcja zawsze kończyła się jako pojedyncza...

169
Rozdzielanie kodu klasy na nagłówek i plik CPP

Nie wiem, jak oddzielić kod implementacji i deklaracji prostej klasy do nowego nagłówka i pliku CPP. Na przykład, jak oddzielić kod dla następującej klasy? class A2DD { private: int gx; int gy; public: A2DD(int x,int y) { gx = x; gy = y; } int getSum() { return gx + gy;...

165
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...

165
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;...

164
Nigdy wcześniej nie widziano pętli for w C ++

Konwertowałem algorytm C ++ na C #. Natknąłem się na to for loop: for (u = b.size(), v = b.back(); u--; v = p[v]) b[u] = v; Nie daje błędu w C ++, ale robi to w C # (nie można przekonwertować int na bool). Naprawdę nie mogę tego rozgryźć pętli for, gdzie jest warunek? Czy ktoś może...

162
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...

157
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...

156
Jak uzyskać aktualny indeks dla każdego Kotlina

Jak uzyskać indeks w każdej pętli? Chcę wydrukować liczby dla każdej drugiej iteracji Na przykład for (value in collection) { if (iteration_no % 2) { //do something } } W javie mamy tradycyjną pętlę for for (int i = 0; i < collection.length; i++) Jak zdobyć i?