Programowanie obiektowe to paradygmat programowania wykorzystujący „obiekty”: struktury danych składające się z pól danych i metod wraz z ich interakcjami.
Właśnie dołączyłem do nowego projektu oprogramowania C ++ i staram się zrozumieć projekt. Projekt często wykorzystuje nienazwane przestrzenie nazw. Na przykład coś takiego może wystąpić w pliku definicji klasy: // newusertype.cc namespace { const int SIZE_OF_ARRAY_X; const int SIZE_OF_ARRAY_Y; bool getState(userType*,otherUserType*); } newusertype::newusertype(...) {... Jakie są względy projektowe, które mogą …
Załóżmy, że masz kilka obiektów o kilku polach, które można porównać: public class Person { private String firstName; private String lastName; private String age; /* Constructors */ /* Methods */ } W tym przykładzie, kiedy pytasz, czy: a.compareTo(b) > 0 możesz zapytać, czy nazwisko a występuje przed b, czy a …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 3 lata temu . Popraw to pytanie Pracuję nad dużym projektem (dla mnie), który będzie miał wiele …
Nie jestem skłonny używać list inicjujących członków z moimi konstruktorami ... ale już dawno zapomniałem o przyczynach tego ... Czy używasz list inicjujących członków w swoich konstruktorach? Jeśli tak, to dlaczego? Jeśli nie, dlaczego nie?
Interfejsy pozwalają tworzyć kod definiujący metody klas, które go implementują. Nie można jednak dodać żadnego kodu do tych metod. Klasy abstrakcyjne pozwalają robić to samo, dodając kod do metody. Skoro możesz osiągnąć ten sam cel za pomocą klas abstrakcyjnych, dlaczego w ogóle potrzebujemy koncepcji interfejsów? Powiedziano mi, że ma to …
Mamy dwa obiekty PHP5 i chcielibyśmy połączyć zawartość jednego w drugi. Pomiędzy nimi nie ma podklas, dlatego nie można zastosować rozwiązań opisanych w poniższym temacie. Jak skopiować obiekt PHP na inny typ obiektu //We have this: $objectA->a; $objectA->b; $objectB->c; $objectB->d; //We want the easiest way to get: $objectC->a; $objectC->b; $objectC->c; …
Wiem, że Python nie obsługuje przeciążania metod, ale napotkałem problem, którego nie potrafię rozwiązać w przyjemny Python. Tworzę grę, w której postać musi strzelać różnymi kulami, ale jak napisać różne funkcje do tworzenia tych kul? Załóżmy na przykład, że mam funkcję, która tworzy pocisk przemieszczający się z punktu A do …
Mam na myśli, poza obowiązującą nazwą (Standardowa biblioteka szablonów) ... C ++ początkowo zamierzał prezentować koncepcje OOP w C. To znaczy: możesz powiedzieć, co konkretna jednostka może, a czego nie może zrobić (niezależnie od tego, jak to robi) na podstawie swojej klasy i hierarchii klas. Niektóre kompozycje umiejętności są trudniejsze …
W JavaScript każdy obiekt jest jednocześnie instancją i klasą. Aby wykonać dziedziczenie, możesz użyć dowolnej instancji obiektu jako prototypu. W Pythonie, C ++ itp. Istnieją klasy i instancje jako osobne pojęcia. Aby wykonać dziedziczenie, musisz użyć klasy podstawowej, aby utworzyć nową klasę, której można następnie użyć do utworzenia instancji pochodnych. …
Zamknięte . To pytanie jest oparte na opiniach . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby można było na nie odpowiedzieć faktami i cytatami, edytując ten post . Zamknięte 3 lata temu . Popraw to pytanie W C ++ przyjaciel słów kluczowych pozwala class Awyznaczyć class …
Próbuję zrozumieć różnicę między __getattr__a __getattribute__jednak jestem braku na niego. Odpowiedź na pytanie przepełnienie stosu Różnica między __getattr__VS__getattribute__ mówi: __getattribute__jest wywoływany przed spojrzeniem na rzeczywiste atrybuty obiektu, więc może być trudny do prawidłowego wdrożenia. Bardzo łatwo możesz skończyć w nieskończonych rekurencjach. Nie mam pojęcia, co to znaczy. Następnie mówi: Prawie …
Może to oczywiste, ale nie wiem, jak zadeklarować właściwości klasy w Objective-C. Muszę buforować słownik dla każdej klasy i zastanawiać się, jak umieścić go w klasie.
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.