codequick-darkmode-logo
Zaloguj sięZarejestruj się
Programowanie obiektowe w Pythonie

Sylabus:

Programowanie obiektowe w Pythonie

16 Lekcje 262 Online Pytania z Kodowania


Jakie tematy będą omawiane na kursie?

Podstawy Python OOP

  1. Wprowadzenie:

    • Przegląd kursu i cele

    • Znaczenie obiektowego programowania w Pythonie

    • Wymagania wstępne i rozpoczęcie

  1. Klasy i obiekty:

    • Definiowanie klas i obiektów w Pythonie

    • Zrozumienie atrybutów klas i atrybutów instancji

    • Implementacja konstruktorów (__init__) do inicjalizacji obiektów

    • Tworzenie i manipulowanie obiektami

  1. Atrybuty i Metody:

    • Praca z metodami instancji i metodami klasy

    • Zrozumienie przeciążania i nadpisywania metod

    • Implementacja metod statycznych

    • Hermetyzacja danych za pomocą atrybutów prywatnych i chronionych

  1. Dziedziczenie:

    • Tworzenie i używanie podklas w Python

    • Implementacja dziedziczenia w celu ponownego wykorzystania kodu

    • Zrozumienie porządku rozwiązywania metod (MRO)

    • Używanie super() do dostępu do metod klasy nadrzędnej

  1. Enkapsulacja:

    • Zbliżając się do końca naszej podróży, skupiamy się na enkapsulacji, kluczowym pojęciu w programowaniu obiektowym.

    • Badanie modyfikatorów dostępu takich jak public, private i protected

    • Zrozumienie, jak modyfikatory dostępu ograniczają dostęp do członków klasy

    • Implementacja enkapsulacji w celu ochrony danych w klasach

  1. Polimorfizm:

    • Zrozumienie polimorfizmu i jego typów

    • Implementacja nadpisywania metody i przeciążania operatorów

    • Wykorzystanie polimorfizmu do pisania elastycznego i wielokrotnego użytku kodu

  1. Specjalne metody (Magiczne metody):

    • Odkrywanie specjalnych metod takich jak __str__, __repr__, __len__, __add__

    • Zrozumienie celu i zastosowania specjalnych metod

    • Implementacja niestandardowych zachowań używając specjalnych metod

  1. Abstrakcja i interfejsy:

    • Zrozumienie klas abstrakcyjnych i metod abstrakcyjnych

    • Użycie modułu ABC (Abstract Base Classes) do abstrakcji

    • Implementacja interfejsów i przestrzeganie kontraktu

  1. Kompozycja i Agregacja:

    • Zrozumienie kompozycji i agregacji

    • Budowanie złożonych obiektów przy użyciu kompozycji

    • Implementacja agregacji do modelowania relacji

  1. Właściwości i Dekoratory:

    • Implementacja metod getter i setter

    • Zrozumienie dekoratorów właściwości (@property, @setter, @deleter)

    • Używanie właściwości do enkapsulacji atrybutów

  1. Wielokrotne dziedziczenie:

    • Zrozumienie wielokrotnego dziedziczenia i jego pułapek

    • Używanie wielokrotnego dziedziczenia do łączenia funkcji z wielu klas

    • Zarządzanie kolejnością rozwiązywania metod (MRO) w wielokrotnym dziedziczeniu

  1. Kolejność Rozwiązywania Metod (MRO):

    • Kolejność Rozwiązywania Metod (MRO), kluczowy aspekt dziedziczenia w Pythonie.

    • Zrozumienie, jak Python określa kolejność, w której metody są rozwiązywane

    • Używanie super() do nawigacji po Kolejności Rozwiązywania Metod

  1. Duck Typing:

    • Zrozumienie konceptu Duck Typing

    • Implementacja Duck Typing do pisania elastycznego kodu

    • Wykorzystanie Duck Typing do pracy z różnymi typami obiektów

  1. Ukrywanie danych:

    • Zrozumienie enkapsulacji i ukrywania danych

    • Użycie enkapsulacji do ograniczenia dostępu do danych

    • Implementacja prywatnych atrybutów i metod

  1. Kompozycja nad dziedziczeniem:

    • Zrozumienie zasady kompozycji nad dziedziczeniem

    • Identyfikacja scenariuszy, gdzie kompozycja jest preferowana

    • Budowanie elastycznego i łatwego w utrzymaniu kodu przy użyciu kompozycji

  1. Podsumowanie myśli na temat programowania obiektowego w Pythonie:

    • Refleksje na temat nauki programowania obiektowego w Pythonie

    • Podziękowania i kolejne kroki