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.



15
Kiedy powinienem używać struct zamiast klasy?
MSDN mówi, że powinieneś używać struktur, gdy potrzebujesz lekkich obiektów. Czy istnieją inne scenariusze, w których struktura jest lepsza niż klasa? Niektórzy ludzie mogli zapomnieć, że: Struktury mogą mieć metody. Struktury nie mogą być dziedziczone. Rozumiem techniczne różnice między strukturami i klasami, po prostu nie mam pojęcia, kiedy użyć struktury.
303 .net  oop 




5
Zalety dziedziczenia prototypowego w porównaniu z klasycznym?
W końcu przestałem ciągnąć stopy przez te wszystkie lata i postanowiłem nauczyć się JavaScript „poprawnie”. Jednym z najbardziej porywających elementów projektowania języków jest implementacja dziedziczenia. Mając doświadczenie w Ruby, bardzo cieszyłem się z zamykania i dynamicznego pisania; ale przez całe życie nie mogę zrozumieć, jakie korzyści można uzyskać z instancji …

18
Kiedy powinienem używać „tego” na zajęciach?
Wiem, że thisodnosi się to do bieżącego obiektu. Ale nie wiem, kiedy naprawdę muszę go użyć. Na przykład, czy będzie jakaś różnica, jeśli użyję xzamiast this.xniektórych metod? Może xbędzie dotyczyć zmiennej lokalnej dla rozważanej metody? Mam na myśli zmienną, która jest widoczna tylko w tej metodzie. Co this.method()? Mogę to …
267 java  oop  this 

13
Jak stworzyć klasę statyczną w C ++?
Jak stworzyć klasę statyczną w C ++? Powinienem być w stanie zrobić coś takiego: cout << "bit 5 is " << BitParser::getBitAt(buffer, 5) << endl; Zakładając, że stworzyłem BitParserklasę. Jak wyglądałaby BitParserdefinicja klasy?
263 c++  oop  class  syntax  static 

14
Metoda klasowa a statyczna w JavaScript
Wiem, że to zadziała: function Foo() {}; Foo.prototype.talk = function () { alert('hello~\n'); }; var a = new Foo; a.talk(); // 'hello~\n' Ale jeśli chcę zadzwonić Foo.talk() // this will not work Foo.prototype.talk() // this works correctly Znajduję metody na Foo.talkpracę, Foo.__proto__ = Foo.prototype Foo.talk = Foo.prototype.talk Czy są na …
262 javascript  oop 


6
Najlepsze praktyki JavaScript zorientowane obiektowo? [Zamknięte]
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 …
251 javascript  oop 

27
Czy złą praktyką jest zmuszanie setera do zwrócenia „tego”?
Czy to dobry, czy zły pomysł, aby setery w javie zwracały „to”? public Employee setName(String name){ this.name = name; return this; } Ten wzorzec może być przydatny, ponieważ wtedy możesz ustawić łańcuchy ustawiające w następujący sposób: list.add(new Employee().setName("Jack Sparrow").setId(1).setFoo("bacon!")); zamiast tego: Employee e = new Employee(); e.setName("Jack Sparrow"); ...and so …
249 java  design-patterns  api  oop 

17
Czy podklasy dziedziczą pola prywatne?
To pytanie do wywiadu. Czy podklasy dziedziczą pola prywatne? Odpowiedziałem „Nie”, ponieważ nie możemy uzyskać do nich dostępu w „normalny sposób OOP”. Jednak ankieter uważa, że ​​są one dziedziczone, ponieważ możemy uzyskać dostęp do takich pól pośrednio lub za pomocą odbicia i nadal istnieją w obiekcie. Po powrocie znalazłem w …
245 java  oop  inheritance  private 

10
Objaśnienie strzałek UML
Ostatnio studiowałem UML i rysowałem proste diagramy zwykłymi prostymi strzałkami między klasami, ale wiem, że to nie wystarczy. Istnieje wiele innych strzałek: uogólnienie, realizacja itp., Które mają znaczenie dla czytnika diagramów. Czy jest jakiś dobry zasób, który mógłby wyjaśnić każdą strzałkę (zwykły, prosty, kropkowany, wypełniony diamentem, diament)? Byłoby najlepiej, gdyby …
244 oop  uml 

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.