oop

Interface vs Base class

Kiedy powinienem używać interfejsu, a kiedy klasy bazowej? Czy zawsze powinien to być interfejs, jeśli nie chcę definiować ... rks (IMakesNoise?), ponieważ można je umieścić na podstawie pet by pet, ale nie rozumiem, którego użyć do ogólnego zwierzaka.

Co to jest mixin i dlaczego są przydatne?

W "Programowanie Pythona" Mark Lutz wspomina "mixins". Jestem z tła C / C++/C# i jeszcze nie słyszałem tego określenia. Co to ... e byłoby lepsze niż stosowanie kompozycji? Co odróżnia Mixin od dziedziczenia wielokrotnego? Czy to tylko kwestia semantyki?

Jaka jest różnica między funkcją abstrakcyjną a funkcją wirtualną?

Jaka jest różnica między funkcją abstrakcyjną a funkcją wirtualną? W jakich przypadkach zaleca się użycie wirtualnego czy abstrakcyjnego? Które podejście jest bardziej poprawne?

Jaki jest cel jaźni?

Jaki jest cel self słowa w Pythonie? Rozumiem, że odnosi się do konkretnego obiektu utworzonego z tej klasy, ale nie rozumiem ... = name Czy ktoś może mi to powiedzieć? Nie jest to coś, na co natknąłem się w moim (co prawda ograniczonym) doświadczeniu.

Jakie są różnice między type () i isinstance()?

Jakie są różnice między tymi dwoma fragmentami kodu? Użycie type(): import types if type(a) is types.DictType: do_some ... nce(): if isinstance(a, dict): do_something() if isinstance(b, str) or isinstance(b, unicode): do_something_else()

Jak napisać kod obiektowy w C? [zamknięte]

zamknięte . To pytanie musi być bardziej skoncentrowane . Obecnie nie przyjmuje odpowiedzi. ... ktowego w C? Szczególnie w odniesieniu do polimorfizmu. Zobacz też to pytanie o przepełnienie stosu orientacja obiektu w C.

Jaka jest różnica między publicznym, prywatnym i chronionym?

Kiedy i dlaczego powinienem używać public, private, i protected Funkcje i zmienne wewnątrz klasy? Jaka jest między nimi różni ... private function doSomething() { // ... } // Protected protected $variable; protected function doSomething() { // ... }

Jakich technik można użyć do zdefiniowania klasy w JavaScript i jakie są ich kompromisy?

Wolę używać OOP w dużych projektach, takich jak ten, nad którym obecnie pracuję. Muszę utworzyć kilka klas w JavaScript, ale ... edziczenie - Doc JavaScript omawia programowanie obiektowe w języku JavaScript. Czy istnieje lepszy sposób na dziedziczenie?

Jaki jest przykład Zasady substytucji Liskowa?

Słyszałem, że zasada substytucji Liskowa (LSP) jest podstawową zasadą projektowania zorientowanego obiektowo. Co to jest i jakie są przykłady jego zastosowania?

Czy można pisać kod obiektowy w C? [zamknięte]

Czy można pisać kod obiektowy w C? Szczególnie w odniesieniu do polimorfizmu. Zobacz też pytanie o przepełnienie stosuorientacja obiektu w C.

Wywiad: czy możemy utworzyć klasę abstrakcyjną?

Ankieter zapytał - Czy możemy utworzyć instancję klasy abstrakcyjnej? Powiedziałem, Nie. Powiedział mi-źle, możemy. Pokłóci ... wywołuję metodę klasy abstrakcyjnej. Czy ktoś może mi to wyjaśnić? Czy naprawdę myliłem się podczas rozmowy kwalifikacyjnej?

Dlaczego nie dziedziczyć z listy?

Kiedy planuję swoje programy, często zaczynam od takiego łańcucha myśli:]} Drużyna piłkarska to tylko lista piłkarzy. Dl ... opuszczalne? Dlaczego/dlaczego nie? Co musi wziąć pod uwagę programista, decydując czy odziedziczyć po List<T> czy nie?

JavaScript: Class.metoda A Klasa.prototyp.metoda

Jaka jest różnica między następującymi dwoma deklaracjami? Class.method = function () { /* code */ } Class.prototype.method ... ku myśleć o pierwszym oświadczeniu jako deklaracji metody statycznej, a drugim oświadczeniu jako deklaracji metody instancji?

Korzyści dziedziczenia prototypowego nad klasycznymi?

Więc w końcu przestałem przeciągać stopy przez te wszystkie lata i postanowiłem nauczyć się JavaScript "poprawnie". Jednym z ... życie nie mogę zrozumieć, jakie korzyści można uzyskać z instancji obiektowych przy użyciu innych instancji do dziedziczenia.

Dodawanie metody do istniejącej instancji obiektu

Czytałem, że można dodać metodę do istniejącego obiektu (tzn. nie w definicji klasy) w Pythonie. Rozumiem, że nie zawsze dobrze jest to robić. Ale jak można to zrobić?

Jaka jest różnica między klasami Starego i nowego stylu w Pythonie?

Jaka jest różnica między klasami Starego i nowego stylu w Pythonie? Czy jest jakiś powód, by w dzisiejszych czasach korzystać z zajęć w starym stylu?

Co robi "super" w Pythonie?

Jaka jest różnica między: class Child(SomeBaseClass): def __init__(self): super(Child, self).__init__() I: ... miem, dlaczego używasz go w wielu dziedziczeniach, ale nie wiem, jakie są zalety korzystania z niego w tego rodzaju sytuacji.

Jak zaprojektować klasę w Pythonie?

Miałem naprawdę niesamowitą pomoc w moich poprzednich pytaniach do wykrywania łapy i palce w łapie , ale wszystkie te rozwi ... szukam rady, jak stworzyć klasy, które pozwolą mi przetwarzać moje dane (link do zipped danych jednego psa) w rozsądna Moda.

Najlepsze praktyki Javascript zorientowane obiektowo? [zamknięte]

Znajduję się w kodowaniu dużego projektu w Javascript. Pamiętam, że ten ostatni był całkiem przygodą, ponieważ hacky JS może ... Mam kilka odczytów, ale nadal jestem bardzo zainteresowany odpowiedziami na powyższe pytania i wszelkie najlepsze praktyki.

Polimorfizm a przeciążenie a przeciążenie

Jeśli chodzi o Javę, gdy ktoś pyta: Czym jest polimorfizm? Czyoverloading czyoverloading będzie akceptowalną odpowie ... owałeś tę metodę w podklasie, czy nadal jest to overridding? Myślę, że przeciążenie na pewno nie jest właściwą odpowiedzią.