Spis treści
Programowanie obiektowe
Sposób tworzenia oprogramowania wykorzystujący obiekty — elementy scalające dane i funkcje. Program składa się z obiektów komunikujących się ze sobą i realizujących różne zadania. Jest to naturalny dla człowieka sposób modelowania rzeczywistości. Zaletą programowania obiektowego jest łatwość pisania oprogramowania, modyfikowania, utrzymywania, rozwijania oraz ponownego używania już raz napisanego kodu.
Cechy programowana obiektowego
Klasy
Klasy to szablony obiektów. Zawierają dane (charakterystyki) oraz procedury (metody — działania do wykonywania). Na przykład: klasą jest Koło, który zawiera pole: promień oraz metodę PodajPolePowierzchni (wraz z implementacją obliczania pola).
Obiekty
Obiekty to konkretne instancje klas. Na przykład: obiektem będzie użycie klasy Koło o promieniu 3 cm.
Podstawowe założenia programowania obiektowego
Hermetyzacja
Hermetyzacja polega na ukryciu szczegółów implementacji. Obiekty przedstawiają publiczny interfejs, który mogą wywoływać inne obiekty. Obiekt może zmieniać tylko swój stan. Nikt inny nie może tego robić.
Dziedziczenie
Mechanizm dający możliwość tworzenia wyspecjalizowanych obiektów na podstawie obiektów ogólniejszych. Pozwala to współdzielić funkcjonalności. Obiekt wyspecjalizowany może wykorzystywać część definicji obiektu ogólniejszego i rozszerzać go lub zmieniać.
Polimorfizm
Mechanizm umożliwiający traktowanie różnych obiektów w jeden sposób dziedziczących tę samą klasę.
Abstrakcja
Obiekty są modelami abstrakcyjnych bytów, które wykonują powierzone im zadania bez zdradzania, jak te działania są realizowane. Przedstawiają one uproszczenie danego zagadnienia.
Wszystkie posty związane z mini projektem: Poznaj zasady SOLID i OOP:
- Początek mini projektu: Poznaj zasady SOLID i OOP
- SOLID
- S jak Single responsibility principle, czyli zasada jednej odpowiedzialności
- O jak Open-closed principle, czyli zasada otwarte/zamknięte
- L jak Liskov Substitution Principle, czyli zasada podstawień Barbary Liskov
- I jak Interface segregation principle, czyli Zasada segregacji interfejsów
- D jak Dependency Inversion Principle, czyli Zasada odwrócenia zależności
- CS jak Ćwiczenia Single responsibility principle, czyli zasada jednej odpowiedzialności
- CO jak Ćwiczenia Open/closed principle, czyli Zasada otwarte-zamknięte
- CL jak Ćwiczenia Liskov Substitution Principle, czyli zasada podstawień Barbary Liskov
- CI jak Ćwiczenia Interface segregation principle, czyli Zasady segregacji interfejsów
- CI jak Ćwiczenia Dependency Inversion Principle, czyli Zasada odwrócenia zależności
- Ćwiczenia z SOLID
- Podsumowanie połowy projektu: Poznaj zasady SOLID i OOP
- Ćwiczenia z SOLID — Kata
- OOP — Object Oriented Programming, czyli programowanie obiektowe
- OOP — Myślenie obiektowe
- OOP — Object Oriented Programming, czyli programowanie obiektowe — Modelowanie dziedziny
- KISS — Keep it simple, stupid, czyli Bez udziwnień zapisu, idioto (BUZI)
- Lod — Law of Demeter, czyli Prawo Demeter
- DRY — Don’t repeat yourself, czyli Nie powtarzaj się
- SLAP — Single Level of Abstraction Principle, czyli Pojedynczy poziom abstrakcji
- Composition Over Inheritance, czyli Kompozycja ponad dziedziczeniem
- Encapsulate what changes, czyli Ukrywaj zmieniające się rzeczy
- Podsumowanie projektu: Poznaj zasady SOLID i OOP
- Podsumowanie zasad SOLID i OOP
- Mini kurs: Poznaj zasady SOLID i OOP – Zapisz się!
- Praca cząstkowa w Metodzie Kanban
Źródła
Obraz główny
Materiały
- https://pl.wikipedia.org/wiki/Programowanie_obiektowe
- Czysta Architektura — Robert C. Martin.
- https://pl.wikipedia.org/wiki/Polimorfizm_(informatyka)
- https://javastart.pl/baza-wiedzy/programowanie-obiektowe/polimorfizm
- http://kurs.aspnetmvc.pl/Csharp/Polimorfizm
- https://pl.wikipedia.org/wiki/Hermetyzacja_(informatyka)
- https://pl.wikipedia.org/wiki/Abstrakcja_(programowanie)
- https://pl.wikipedia.org/wiki/Dziedziczenie_(programowanie)