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.


25
Dlaczego C # nie pozwala statycznym metodom na implementację interfejsu?
Dlaczego C # został zaprojektowany w ten sposób? Jak rozumiem, interfejs opisuje tylko zachowanie i służy opisaniu zobowiązania umownego dla klas wdrażających interfejs, że określone zachowanie jest realizowane. Jeśli klasy chcą zaimplementować to zachowanie we wspólnej metodzie, dlaczego nie powinny? Oto przykład tego, co mam na myśli: // These items …

21
Co robi słowo kluczowe „static” w klasie?
Aby być konkretnym, próbowałem tego kodu: package hello; public class Hello { Clock clock = new Clock(); public static void main(String args[]) { clock.sayTime(); } } Ale dał błąd Nie można uzyskać dostępu do pola niestatycznego w metodzie statycznej main Zmieniłem więc deklarację clockna: static Clock clock = new Clock(); …

30
Jakie są różnice między strukturą a klasą w C ++?
To pytanie zostało już zadane w kontekście C # / .Net . Teraz chciałbym poznać różnice między strukturą a klasą w C ++. Omów różnice techniczne, a także powody wyboru jednego lub drugiego projektu OO. Zacznę od oczywistej różnicy: Jeśli nie określisz public: lub private:, członkowie struktury są domyślnie publiczni; …
441 c++  oop  class  struct  c++-faq 

15
Czy powinniśmy @Override implementację metody interfejsu?
Czy metoda, która implementuje metodę interfejsu, powinna być opatrzona adnotacjami @Override? Javadoc z Overridedopiskiem mówi: Wskazuje, że deklaracja metody ma zastąpić deklarację metody w nadklasie. Jeśli metoda jest opatrzona adnotacjami za pomocą tego typu adnotacji, ale nie zastępuje metody nadklasy, kompilatory są wymagane do wygenerowania komunikatu o błędzie. Nie sądzę, …




6
Wyjaśnienie Pythona „__enter__” i „__exit__”
Widziałem to w czyimś kodzie. Co to znaczy? def __enter__(self): return self def __exit__(self, type, value, tb): self.stream.close() from __future__ import with_statement#for python2.5 class a(object): def __enter__(self): print 'sss' return 'sss111' def __exit__(self ,type, value, traceback): print 'ok' return False with a() as s: print s print s

30
Kiedy należy używać „przyjaciela” w C ++?
Czytałem przez C ++ FAQ i byłem ciekawy frienddeklaracji. Osobiście nigdy go nie używałem, ale interesuje mnie odkrywanie języka. Jaki jest dobry przykład używania friend? Trochę dłużej czytając FAQ Podoba mi się pomysł << >>przeciążania operatora i dodawania go jako przyjaciela tych klas. Nie jestem jednak pewien, w jaki sposób …
354 c++  oop  encapsulation  friend 


21
Polimorfizm vs przesłonięcie vs przeciążenie
Jeśli chodzi o Javę, gdy ktoś pyta: co to jest polimorfizm? Czy przeciążenie lub zastąpienie byłoby akceptowalną odpowiedzią? Myślę, że jest w tym coś więcej. JEŚLI masz abstrakcyjną klasę podstawową, która zdefiniowała metodę bez implementacji i zdefiniowałeś tę metodę w podklasie, czy to wciąż jest nadrzędne? Myślę, że przeciążenie nie …

8
Zastosowanie init init zamiast nowego
Ucząc się Celu C i czytając przykładowy kod, zauważam, że obiekty są zwykle tworzone przy użyciu tej metody: SomeObject *myObject = [[SomeObject alloc] init]; zamiast: SomeObject *myObject = [SomeObject new]; Czy jest ku temu powód, ponieważ przeczytałem, że są one równoważne?
344 objective-c  oop 



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.