Python Zorientowany Obiektowo Irv Kalb Głogów Małopolski

Python jest jednym z najczęściej używanych języków programowania. Może służyć do wielu celów, a jego możliwości są nieustannie poszerzane przez wciąż powstające biblioteki i narzędzia. Równocześnie niejeden programista poprzestaje na tworzeniu kodu w sposób proceduralny. Tymczasem w Pythonie jak …

od 62,44 Najbliżej: 42 km

Liczba ofert: 1

Oferta sklepu

Opis

Python jest jednym z najczęściej używanych języków programowania. Może służyć do wielu celów, a jego możliwości są nieustannie poszerzane przez wciąż powstające biblioteki i narzędzia. Równocześnie niejeden programista poprzestaje na tworzeniu kodu w sposób proceduralny. Tymczasem w Pythonie jak najbardziej możliwe jest programowanie zorientowane obiektowo, pozwalające organizować kod w poręczne jednostki, których później można wielokrotnie używać. Taki kod jest czytelny, łatwy w rozbudowie i dużo efektywniejszy w działaniu. Oto intuicyjny przewodnik dla średnio zaawansowanych programistów Pythona, pomyślany tak, by przyswajać zasady programowania zorientowanego obiektowo podczas praktycznych ćwiczeń. Dowiesz się, jakie problemy wiążą się z zastosowaniem podejścia proceduralnego i jak dzięki podejściu obiektowemu pisać kod łatwy w utrzymaniu i rozbudowie. Nauczysz się tworzyć klasy i obiekty w Pythonie i skorzystasz z tych umiejętności, by budować atrakcyjne elementy GUI. Niejako przy okazji poznasz framework pygame i płynnie przejdziesz do pisania interaktywnych gier i aplikacji zawierających widżety GUI, animacje i wiele różnych scen. Opanujesz ponadto takie koncepcje jak maszyna stanów, modalne okna dialogowe czy wzorce projektowe — a w praktyce zastosujesz wzorzec model-widok-kontroler. W książce między innymi: gruntowne podstawy programowania zorientowanego obiektowo tworzenie obiektów i zarządzanie nimi praktyczne stosowanie hermetyzacji w kodzie zastosowanie polimorfizmu podczas tworzenia interfejsów mechanizm dziedziczenia w praktyce Python: zorientuj swój kod na obiekty! Spis treści: Wprowadzenie Dla kogo jest przeznaczona ta książka? Wersje Pythona i jego instalacja Jak zamierzam wyjaśnić podejście programowania zorientowanego obiektowo? Co znajduje się w książce? Środowisko programistyczne Widżety i przykładowe gry Część I. Wprowadzenie do programowania zorientowanego obiektowo 1. Proceduralny styl programowania w Pythonie Gra karciana Przedstawienie danych Implementacja Kod wielokrotnego użycia Symulacja konta bankowego Zawsze wymagane operacje i dane Implementacja 1. - pojedyncze konto bez funkcji Implementacja 2. - pojedyncze konto z funkcjami Implementacja 3. - dwa konta Implementacja 4. - wiele kont z użyciem listy Implementacja 5. - lista słowników kont Najczęstsze problemy z implementacją proceduralną Rozwiązanie w stylu programowania zorientowanego obiektowo - pierwszy rzut oka na klasę Podsumowanie 2. Modelowanie obiektów fizycznych za pomocą programowania zorientowanego obiektowo Tworzenie programowych modeli obiektów fizycznych Stan i zachowanie - przykład wyłącznika światła Wprowadzenie do klas i obiektów Klasy, obiekty i tworzenie obiektów Tworzenie klasy w Pythonie Zmienne zakresu i egzemplarza Różnice między funkcją i metodą Tworzenie obiektu na podstawie klasy Wywoływanie metod obiektu Tworzenie wielu egzemplarzy na podstawie tej samej klasy Typy danych Pythona są implementowane jako klasy Definicja obiektu Tworzenie nieco bardziej złożonej klasy Przedstawianie w postaci klas bardziej skomplikowanych obiektów fizycznych Przekazywanie argumentów metodzie Wiele egzemplarzy Inicjalizacja parametrów Klasy w użyciu Programowanie zorientowane obiektowo jako rozwiązanie Podsumowanie 3. Modele obiektów i znaczenie "self" Nowe spojrzenie na klasę DimmerSwitch Pierwszy model wysokiego poziomu Drugi model - znacznie dokładniejszy Co oznacza "self"? Podsumowanie 4. Zarządzanie wieloma obiektami Klasa przedstawiająca konto bankowe Importowanie kodu klasy Tworzenie kodu testowego Tworzenie wielu kont bankowych Lista zawierająca wiele obiektów kont bankowych Wiele obiektów z unikatowymi identyfikatorami Tworzenie interaktywnego menu Tworzenie obiektu zarządzającego obiektami Tworzenie obiektu zarządzającego obiektami Kod główny, który tworzy obiekt zarządzający obiektami Lepsza obsługa błędów za pomocą wyjątków try i except Polecenie raise i wyjątki niestandardowe Używanie wyjątków w programie modelującym bank Klasa Account z obsługą wyjątków Optymalizacja klasy Bank Kod główny zapewniający obsługę wyjątków Wywołanie tej samej metody w liście obiektów Interfejs kontra implementacja Podsumowanie Część II. Tworzenie graficznego interfejsu użytkownika za pomocą pygame 5. Wprowadzenie do pygame Instalowanie pygame Praca z oknem System współrzędnych okna Kolor piksela Programy sterowane zdarzeniami Używanie pygame Wyświetlenie pustego okna Wyświetlenie obrazu Wykrycie kliknięcia myszą Obsługa klawiatury Tworzenie animacji na podstawie położenia Używanie prostokątów pygame Odtwarzanie dźwięku Odtwarzanie efektów dźwiękowych Odtwarzanie muzyki w tle Rysowanie figur Odwoływanie do figur prostych Podsumowanie 6. Zorientowany obiektowo framework pygame Tworzenie wygaszacza ekranu w postaci piłki za pomocą zorientowanego obiektowo pygame Tworzenie klasy Ball Używanie klasy Ball Tworzenie wielu obiektów typu Ball Tworzenie wielu, wielu obiektów Ball Tworzenie zorientowanego obiektowo przycisku wielokrotnego użycia Tworzenie klasy przycisku Kod główny używający klasy SimpleButton Tworzenie programu z wieloma przyciskami Tworzenie zorientowanego obiektowo komponentu tekstowego wielokrotnego użycia Procedura wyświetlenia tekstu Tworzenie klasy SimpleText Przykładowy program wykorzystujący klasy SimpleText i SimpleButton Interfejs kontra implementacja Wywołanie zwrotne Tworzenie wywołania zwrotnego Używanie wywołania zwrotnego razem z klasą SimpleButton Podsumowanie 7. Widżety GUI frameworka pygame Przekazywanie argumentów funkcji lub metodzie Parametry pozycyjne i w postaci słów kluczowych Informacje dodatkowe o parametrach w postaci słów kluczowych Używanie None jako wartości domyślnej Wybór słowa kluczowego i wartości domyślnej Wartość domyślna w widżecie GUI Pakiet pygwidgets Przygotowania Ogólne podejście projektowe Dodawanie obrazu Dodawanie przycisków, pól wyboru i pól opcji Tekstowe dane wejściowe i wyjściowe Inne klasy pygwidgets Przykładowy program pygwidgets Waga spójnego API Podsumowanie Część III. Hermetyzacja, polimorfizm i dziedziczenie 8. Hermetyzacja Hermetyzacja i funkcje Hermetyzacja za pomocą obiektów Obiekt jest właścicielem danych Interpretacje hermetyzacji Dostęp bezpośredni i dlaczego należy go unikać Ścisła interpretacja z użyciem metod typu getter i setter Bezpieczny dostęp bezpośredni Bardziej prywatne zmienne egzemplarza Niejawnie prywatna zmienna egzemplarza Nieco bardziej jawnie prywatna zmienna egzemplarza Dekoratory i @property Hermetyzacja w klasach pygwidgets Prawdziwa historia Abstrakcja Podsumowanie 9. Polimorfizm Wysyłanie wiadomości do rzeczywistych obiektów Klasyczny przykład polimorfizmu w programowaniu Przykład z wykorzystaniem kształtów we frameworku pygame Klasa prostokąta Klasy Circle i Triangle Program główny do rysowania figur Rozszerzenie wzorca Pakiet pygwidgets ujawnia polimorfizm Polimorfizm operatorów Metody magiczne Metody magiczne operatora porównywania Klasa Rectangle z metodami magicznymi Program główny używający metod magicznych Metody magiczne operatora matematycznego Przykład wektora Tworzenie ciągu tekstowego przedstawiającego wartości obiektu Klasa Fraction i metody magiczne Podsumowanie 10. Dziedziczenie Dziedziczenie w programowaniu zorientowanym obiektowo Implementacja dziedziczenia Przykład menedżera i pracownika Klasa bazowa - Employee Podklasa - Manager Kod testujący obie klasy Podklasa z perspektywy klienta Rzeczywiste przykłady dziedziczenia Klasa InputNumber Klasa DisplayMoney Przykład użycia Wiele klas dziedziczących po tej samej klasie bazowej Klasy abstrakcyjne i metody Jak moduł pygwidgets używa dziedziczenia? Hierarchia klas Trudności z użyciem dziedziczenia Podsumowanie 11. Zarządzanie pamięcią używaną przez obiekty Cykl życiowy obiektu Licznik odwołań Mechanizm usuwania nieużytków Zmienne klasy Stała zmiennej klasy Zmienne klasy do zliczania Połączenie wszystkiego w całość - prosta gra z balonami Moduł stałych Kod programu głównego Menedżer balonów Klasy Balloon i ich obiekty Zarządzanie pamięcią - sloty Podsumowanie Część IV. Programowanie zorientowane obiektowo podczas tworzenia gier 12. Gry karciane Klasa Card Klasa Deck Gra Większa czy mniejsza Program główny Obiekt Game Testowanie z użyciem zmiennej __name__ Inne gry karciane Talia do gry w blackjacka Gry z wykorzystaniem nietypowych talii kart Podsumowanie 13. Zegary Program przedstawiający działanie zegara Trzy podejścia w zakresie implementacji zegara Zliczanie klatek Zdarzenie zegara Zdefiniowanie zegara przez sprawdzanie upływającego czasu Instalowanie modułu pyghelpers Klasa Timer Wyświetlanie czasu Klasa CountUpTimer CountDownTimer Podsumowanie 14. Animacja Opracowywanie klas animacji Klasa SimpleAnimation Klasa SimpleSpriteSheetAnimation Połączenie dwóch klas Klasy animacji w pygwidgets Klasa Animation Klasa SpriteSheetAnimation Wspólna klasa bazowa - PygAnimation Przykładowy program pokazujący animację Podsumowanie 15. Sceny Podejście z użyciem maszyny stanów Przykładowy program używający maszyny stanów Menedżer scen zarządzający wieloma scenami Przykładowy program używający menedżera scen Program główny Tworzenie scen Typowa scena Gra Kamień, papier, nożyce zbudowana z użyciem scen Komunikacja między scenami Żądanie informacji ze sceny docelowej Przekazywanie informacji do sceny docelowej Przekazywanie informacji na wszystkie sceny Testowanie komunikacji między scenami Implementacja menedżera scen Metoda run() Metody główne Komunikacja między scenami Podsumowanie 16. Pełna gra - Dodger Modalne okna dialogowe Okno dialogowe typu Tak/Nie Okno dialogowe typu Odpowiedź Tworzenie pełnej gry - Dodger Ogólny opis gry Implementacja Rozbudowa gry Podsumowanie 17. Wzorce projektowe i podsumowanie Model-widok-kontroler Przykład - sposób wyświetlania pliku Przykład - wyświetlanie danych statystycznych Zalety wzorca projektowego MVC Podsumowanie O autorze: Irv Kalb jest nauczycielem akademickim. Od ponad trzech dekad stosuje programowanie zorientowane obiektowo w różnych językach programowania. Od lat tworzy oprogramowanie służące celom edukacyjnym, jest również autorem książki Learn to Program with Python 3: A Step-by-Step Guide to Programming, wydanej przez Apress.

Specyfikacja

Podstawowe informacje

Autor
  • Irv Kalb
Wybrane wydawnictwa
  • Helion
Okładka
  • Miękka
Rok wydania
  • 2022
Ilość stron
  • 432
Tematyka
  • Programowanie
  • Projektowanie
ISBN
  • 9788328394063