Programowanie obiektowe
Transkrypt
Programowanie obiektowe
Michał Włodarczyk Programowanie obiektowe ITA - 105 Wersja 2 Data wydania: wrzesień 2009 Michał Włodarczyk ITA-105 Programowanie obiektowe Opis kursu Kurs przeznaczony jest do prowadzenia przedmiotu programowanie obiektowe na uczelniach wyższych. Skupia się na nauce programowania obiektowego w języku C# w środowisku programistycznym Visual Studio 2008. Kurs prowadzi przez możliwości programowania zorientowanego obiektowo spotykane w wielu językach. Kurs składa się z 13 modułów. Każdy moduł zawiera wprowadzenie w tematykę wraz z odpowiednimi przykładami, ułatwiającymi zrozumienie omawianych zagadnieo, podsumowanie i pytania sprawdzające zdobytą wiedzę. Moduły zawierają również zadania laboratoryjne przeznaczone do wykonania przez studentów w pozostałym czasie zajęd lub w wolnym czasie w celu utrwalenia zdobytych umiejętności. Cel kursu Po zrealizowaniu kursu – przyswojeniu prezentowanej wiedzy oraz utrwaleniu umiejętności przez wykonanie dwiczeo laboratoryjnych, student będzie potrafił tworzyd programy według paradygmatu programowania zorientowanego obiektowo. Słuchacze będą znali pojęcia związane z programowaniem obiektowym, nauczą się tworzyd kod w języku C# realizujący mechanizmy programowania obiektowego, będą też w stanie rozwiązywad problemy za pomocą tych mechanizmów. Uczestnicy kursu zostaną również przygotowani do kursów z metodologii, projektowania i inżynierii oprogramowania, dzięki wprowadzeniu elementów notacji UML oraz wzorców projektowych. Wymagania wstępne Wymagania wstępne, które muszą spełniad słuchacze tego kursu, obejmują: wskazana znajomośd języka programowania o składni podobnej do C#, jak na przykład C/C++, Pascal, Java, Perl, umiejętnośd programowania strukturalnego w dowolnym języku, umiejętnośd pracy w środowisku programistycznym Visual Studio Opis modułów Numer modułu Tytuł Moduł 1 Pojęcie klasy Moduł 2 Konstruktor Opis W tym module zapoznasz się z podstawowymi pojęciami z programowania obiektowego, takie jak klasa, obiekt, abstrakcja czy hermetyzacja. Dowiesz się, jak w języku C# definiujemy klasę, również jak definiuje się klasy częściowe. Nauczysz się również sterowad dostępem do części składowych klasy przy pomocy słów public i private. Poznasz znaczenie słowa this. W tym module zapoznasz się z pojęciem konstruktora oraz nauczysz się, jak definiowad go w języku C#. Omówiona zostanie również lista inicjalizacyjna konstruktora. Poznasz, co to są inicjalizatory obiektów i jak ich używad. Strona 3/6 Michał Włodarczyk ITA-105 Programowanie obiektowe Dowiesz się również co to jest destruktor. Zostanie również wprowadzone pojęcie wzorców projektowych i przedstawiony wzorzec projektowy o nazwie prototyp. Moduł 3 Właściwości i indeksatory Moduł 4 Składowe statyczne Moduł 5 Przeciążenie operatorów Moduł 6 Dziedziczenie Moduł 8 Polimorfizm i funkcje wirtualne Moduł 9 Klasy abstrakcyjne i interfejsy W tym module zapoznasz się z pojęciami właściwości i indeksatora oraz nauczysz się nimi posługiwad w języku C#. Poznasz też co to są właściwości automatyczne. Dodatkowo nauczysz się, co to są pola tylko do odczytu i jak je definiowad. Zostanie tu również przedstawiony wzorzec projektowy o nazwie proxy i jak przy jego pomocy uniezależnid definicję klasy od biblioteki wejścia-wyjścia. W tym module zapoznasz się z pojęciem składowych statycznych. Dowiesz się do czego służą i jak się korzysta w języku C# z pól i metod statycznych. Nauczysz się co to jest konstruktor statyczny oraz po co go się definiuje. Dowiesz się również co to są klasy statyczne oraz co to są metody rozszerzające i jak je implementujemy. Zostanie tu również przedstawiony wzorzec projektowy o nazwie Singleton. W tym module zapoznasz się z pojęciami przeciążenia operatorów. Dowiesz się, które operatory można przeciążyd w języku C#. Nauczysz się jak definiowad metody, które będą implementowały żądany operator. Poznasz szczegóły dotyczące implementacji poszczególnych operatorów. Dowiesz się jak można zdefiniowad w języku C# metody, które będą zamieniad obiekt jednego typu na obiekt innego typu. W tym module zapoznasz się z jednym z podstawowych pojęd programowania obiektowego, a mianowicie dziedziczeniem. Nauczysz się jak dziedziczenie można wykorzystad w języku C#. Poznasz też pozostałe modyfikatory dostępu (protected, internal, internal protected). Dowiesz się również, jak inicjalizowad obiekty klas pochodnych oraz jak przesłonid metodę klasy bazowej. W tym module zapoznasz się z kolejnym z głównych pojęd programowania obiektowego, a mianowicie polimorfizmem. Nauczysz się jak definiowad metody wirtualnych. Dowiesz się jakie metody typu object można nadpisad i jak to zrobid. Poznasz kolejne wzorce projektowe o nazwie metoda fabrykująca i adapter. W tym module zapoznasz się z pojęciem klas i metod abstrakcyjnych oraz uzyskasz informacje jak je implementowad w języku C#. Dowiesz się również co to jest interfejs i do czego służy. Poznasz również pojęcie klas i metod zamkniętych. Zobaczysz również, jak można w Strona 4/6 Michał Włodarczyk ITA-105 Programowanie obiektowe języku C# sprawdzid, czy zmienna klasy bazowej, zawiera referencję do obiektu, którego typ jest żądaną klasę pochodną. Poznasz również wzorzec projektowy fabryka abstrakcyjna. Moduł 10 Metody i typy generyczne Moduł 11 Implementacja przykładowych interfejsów Moduł 12 Delegacje i zdarzenia Moduł 13 Refleksja i atrybuty Moduł 14 Serializacja W tym module zapoznasz się z pojęciem metod i typów generycznych. Dowiesz się do czego służą i jak można je definiowad w języku C#. Zobaczysz jakie ograniczenia można stosowad do typów parametryzujących metodę lub typ ogólny jak również po co stosowad te ograniczenia. Poznasz równie kilka typów generycznych reprezentujących podstawowe struktury danych. W tym module zapoznasz się z podstawowymi interfejsami z których można skorzystad tworząc programy na platformę .Net.: IDisposable, IEnumerable, IEnumerator, IComparable i IComparer. Nauczysz się również jak można je zaimplementowad we własnych klasach. Dowiesz się również do czego służy blok instrukcji using. Poznasz składnię iteratorów przy pomocy których w łatwy sposób można zaimplementowad wzorzec projektowy iterator. W tym module zapoznasz się z pojęciami delegacji i zdarzenia. Dowiesz się co to jest delegacja i jak je można definiowad, zarówno w standardowy sposób jak i przy pomocy metod anonimowych i wyrażeo lambda. Nauczysz się również definiowad własne zdarzenia. Poznasz również wzorzec projektowy Obserwtor. W tym module zapoznasz się z pojęciem refleksji, czyli mechanizmie uzyskania informacji o typie w czasie działania programu. Poznasz jak z mechanizmu refleksji można skorzystad w języku C#. Dowiesz się też jak dodad dodatkowe informacje (metadane) do programu przy pomocy atrybutów. Nauczysz się też definiowad własne atrybuty (klasy reprezentujące atrybuty) i je stosowad. W tym module zapoznasz się z pojęciem serializacji. Poznasz rodzaje serializacji wspieranych przez .Net Framework oraz nauczysz się jak tworzyd klasy serializowalne i ich używad. Zobaczysz również jak można dostosowad proces serializacji, aby spełniał Twoje oczekiwania. W module opisana jest serializacja binarna oraz serializacja XML. Strona 5/6