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 obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, 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 …
Jaki jest cel tego selfsłowa w Pythonie? Rozumiem, że odnosi się do konkretnego obiektu utworzonego z tej klasy, ale nie rozumiem, dlaczego musi być jawnie dodawany do każdej funkcji jako parametr. Aby to zilustrować, w Ruby mogę to zrobić: class myClass def myFunc(name) @name = name end end Rozumiem to …
Odkąd zacząłem uczyć się F # i OCaml w zeszłym roku, przeczytałem ogromną liczbę artykułów, które twierdzą, że wzorce projektowe (szczególnie w Javie) są obejściem brakujących funkcji w imperatywnych językach. Jeden artykuł, który znalazłem, zawiera dość silne twierdzenie : Większość ludzi, których spotkałem, przeczytała książkę Design Patterns autorstwa Gang of …
Kiedy i dlaczego należy używać public, privateoraz protectedfunkcje i zmienne wewnątrz klasy? Jaka jest różnica między nimi? Przykłady: // Public public $variable; public function doSomething() { // ... } // Private private $variable; private function doSomething() { // ... } // Protected protected $variable; protected function doSomething() { // ... …
W „ Programming Python ” Mark Lutz wspomina o „mixinach”. Pochodzę z środowisk C / C ++ / C # i nie słyszałem wcześniej tego terminu. Co to jest mixin? Czytając między wierszami tego przykładu (do którego podłączyłem, ponieważ jest dość długi), przypuszczam, że jest to przypadek użycia wielokrotnego dziedziczenia …
Widziałem to kilka razy i nie jestem pewien, co to znaczy. Kiedy i dlaczego miałbyś to zrobić? Wiem, co robią interfejsy, ale fakt, że nie mam jasności co do tego, sprawia, że myślę, że nie używam ich poprawnie. Czy tak jest, jeśli miałbyś zrobić: IInterface classRef = new ObjectWhatever() Możesz …
Mam listę obiektów Python, które chciałbym posortować według atrybutu samych obiektów. Lista wygląda następująco: >>> ut [<Tag: 128>, <Tag: 2008>, <Tag: <>, <Tag: actionscript>, <Tag: addresses>, <Tag: aes>, <Tag: ajax> ...] Każdy obiekt ma liczbę: >>> ut[1].count 1L Muszę posortować listę według liczby malejących. Widziałem kilka metod, ale szukam najlepszych …
Uczę się języka programowania Python i znalazłem coś, czego nie do końca rozumiem. W metodzie takiej jak: def method(self, blah): def __init__(?): .... .... Co ma selfzrobić? Co to ma być? Czy to jest obowiązkowe? Co robi __init__metoda? Dlaczego jest to konieczne? (itp.) Myślę, że mogą to być konstrukcje OOP, …
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 . Do tej pory byłem głównie narażony na programowanie OO i nie mogę się …
Kiedy powinienem używać interfejsu, a kiedy powinienem używać klasy bazowej? Czy powinien to zawsze być interfejs, jeśli nie chcę definiować podstawowej implementacji metod? Jeśli mam klasę psów i kotów. Dlaczego miałbym chcieć wdrożyć IPet zamiast PetBase? Rozumiem, że mam interfejsy dla ISheds lub IBarków (IMakesNoise?), Ponieważ mogą one być umieszczane …
W kategoriach zrozumiałych dla programisty OOP (bez żadnego funkcjonalnego tła programowania), czym jest monada? Jaki problem rozwiązuje i jakie są najczęściej używane miejsca? EDYTOWAĆ: Aby wyjaśnić rodzaj zrozumienia, którego szukałem, załóżmy, że konwertujesz aplikację FP, która miała monady, na aplikację OOP. Co byś zrobił, aby przenieść obowiązki monad na aplikację …
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.