C# Seria Programista – część 2 – Podstawy Programowanie Obiektowego

Podstawy Programowanie obiektowego w języku C#
Czego się nauczysz * Bedziesz tworzyć klasy i obiekty w swojm kodzie * Będziesz analizował i identyfikował klas z wymagań biznesowych * Bedziesz potrafił rozdzielać obowiązki klasy * Nauczysz się rozpoznawać relacje między klasami * Zrozumiesz ideę ponownego użycia * Nauczysz się budować komponenty * Nauczysz się korzystać z interfejsów * Opanujesz Ideą polimorfizmu * W krótkim czasie poznasz zupełnie od podstaw kompletny proces budowania aplikacji C# * Unikania często popełnianych błędów * Wiele przydatnych wskazówek i dobrych praktyk
Wymagania
Chęć nauki programowania i dobrej zabawy !!!
C# Podstawy programowania
Dla kogo jest ten kurs:
- Programiści C#
- Chcesz tworzyć klasy i obiekty w C#?
- Chcesz analizować i identyfikować klas z wymagań biznesowych?
- Chcesz potrafić rozdzielać obowiązki klasy?
- Chcesz nauczyć się rozpoznawać relacje między klasami?
- Chcesz zrozumieć ideę ponownego użycia?
- Chcesz nauczyć się budować komponenty?
- Chcesz nauczyć się korzystać z interfejsów?
- Chcesz opanować Ideą polimorfizmu?
- Chcesz w krótkim czasie poznać zupełnie od podstaw kompletny proces budowania aplikacji z C#?
Opis
Programowanie obiektowe to fundamentalna cecha języka C #.
Tematem tego kursu będzie programowanie w języku C #, a dokładnie wszystko co powinieneś wiedzieć o programowaniu obiektowym. Po podaniu specyfikacji nowej funkcji lub nowej aplikacji zacznij od zidentyfikowania klas z wymagań lub specyfikacji. Programowanie obiektowe reprezentuje encje i koncepcje aplikacji jako zbioru klas.
Następnym krokiem jest przeanalizowanie zidentyfikowanych klas i podział obowiązków w zależności od potrzeb. Chodzi o to, że aplikacja powinna zostać rozłożona na części z minimalnym nakładaniem się funkcji. Jeśli każda klasa ma jeden cel, łatwiej jest pisać, testować, a później znajdować tę klasę, gdy trzeba ją zaktualizować lub rozszerzyć. To sprawia, że kod jest łatwiejszy do modyfikacji i dostosowania do nowych wymagań i przyszłych wymagań.
Następnym krokiem jest przyjrzenie się związkom. Relacje między klasami definiują sposób, w jaki obiekty utworzone z tych klas mogą współpracować w celu wykonywania operacji aplikacji.
Ostatnim krokiem jest wykorzystanie ponownego użycia. Siła programowania obiektowego leży w obietnicy ponownego użycia. Poprzez wyodrębnienie podobieństwa między zestawami klas do oddzielnej klasy, masz więcej kodu wielokrotnego użytku. Rozbudowane ponowne wykorzystanie istniejących, sprawdzonych klas nie tylko skraca czas opracowywania, ale także prowadzi do bardziej niezawodnych aplikacji. Przykładowa aplikacja została ponownie wykorzystana poprzez klasę bazową z wykorzystaniem dziedziczenia.
Następnie zademonstrujemy ponowne użycie poprzez bibliotekę komponentów klas ogólnych. I wreszcie, zobaczymy ponowne użycie interfejsów. Interfejsy zapewniają czysty sposób interakcji aplikacji z innymi klasami, komponentami, aplikacjami lub systemami.
Kurs opisał również cztery filary lub cechy programowania obiektowego.
Abstrakcja, enkapsulacja, dziedziczenie i polimorfizm.
Abstrakcja opisuje jednostkę w prosty sposób, ignorując nieistotne szczegóły. Zmniejsza złożoność, koncentrując się tylko na tym, co jest ważne dla celów konkretnego zastosowania.
Enkapsulacja polega na enkapsulacji lub ukrywaniu danych implementacji w obrębie klasy. Dane są przechowywane w polach w klasie i dostępne dla reszty aplikacji tylko za pomocą metod pobierających i ustawiających właściwości. Kod jest również hermetyzowany w klasie i dostępny tylko poprzez interfejs klasy. Ukrywanie danych może chronić dane przed nieautoryzowanym dostępem lub nieprawidłowymi danymi. Ukrywanie implementacji pomaga zarządzać złożonością i ułatwia konserwację. Implementacja może zostać zmieniona w dowolnym momencie bez wpływu na aplikację.
Dziedziczenie pozwala klasom pochodnym lub klasom potomnym na ponowne użycie całego kodu z klasy podstawowej lub macierzystej. W demonstracji stworzyliśmy klasę bazową encji, która zawierała standardowy zestaw właściwości i metodę sprawdzania poprawności. Każda klasa encji odziedziczyła po tej klasie bazowej, aby ponownie wykorzystać jej funkcjonalność. Ale w niektórych przypadkach nie chcemy ponownie korzystać z całej funkcjonalności klasy podstawowej, więc możemy przesłonić jej części tak, jak zrobiliśmy to za pomocą metody sprawdzania poprawności.
Polimorfizm jest koncepcją, że pojedyncza metoda, taka jak metoda sprawdzania poprawności, może zachowywać się inaczej w zależności od typu obiektu, który ją wywołuje. Tak więc sprawdzanie poprawności obiektu zamówienia może zachowywać się inaczej niż obiektu klienta, który sprawdza poprawność, a obiekt klienta może zachowywać się inaczej od sprawdzania poprawności obiektu produktu i tak dalej. Metoda o podanej nazwie może mieć różne kształty, a aplikacja określa, jaki kształt metody należy zastosować w momencie wykonywania.
Ideą polimorfizmu opartego na dziedziczeniu jest to, że klasa bazowa może definiować metodę, a każda klasa pochodna może przesłonić tę metodę, aby zapewnić własną definicję i implementację, zasadniczo zapewniając własny kształt tej metody.
Ideą polimorfizmu opartego na interfejsie jest to, że interfejs może definiować metodę. Każda klasa może następnie zaimplementować ten interfejs i zdefiniować własną implementację dla tej metody, zasadniczo zapewniając własny kształt dla tej metody.
Seria Programista C# :
część 1: C# Podstawy programowania
część 2: C# Podstawy Programowanie obiektowego w języku C#
część 3: C# Najlepsze Praktyki – Podstawy języka
część 4: Wprowadzenie do kolekcji C#
część 5: C# Generics