programowanie obiektowe 01, c c++, c#


Wprowadzenie

Przegląd zagadnień

0x08 graphic

Zadaniem tego modułu jest zapoznanie studentów z paradygmatem programowania obiektowego. Omówione zostaną cechy programowania obiektowego oraz jego fundamentalne pojęcia: klasy i obiektu.

Następnie przedstawiony zostanie jeden z języków zorientowanych obiektowo: C# (C Sharp) wraz z podstawowymi elementami jego składni.

W dalszej części studenci zapoznają się ze środowiskiem programistycznym Visual Studio 2005, które będzie środowiskiem pracy na laboratoriach z przedmiotu programowanie obiektowe. Część tą zakończy krótka demonstracja, pokazująca jak zacząć pracę w tym środowisku.

Po podsumowaniu modułu oraz pytaniach sprawdzających, studenci mają czas na samodzielne przećwiczenie poruszania się w środowisku Visual Studio 2005.

Na pierwszych zajęciach należy też podać studentom wymagania - kryteria oceniania, przedstawić terminy prac kontrolnych oraz przekazać inne informacje organizacyjne.

Programowanie obiektowe (1)

0x08 graphic

Paradygmat programowania jest nie tylko stylem pisania programów, lecz sposobem myślenia o projektowaniu i tworzeniu oprogramowania. Studenci powinni być już zaznajomieni z paradygmatem programowania strukturalnego.

W programowaniu zorientowanym obiektowo najważniejszym pojęciem jest obiekt. Skupiamy się zatem nie na algorytmie programu, lecz na jego przedmiocie: obiektach, które reprezentują pewne byty ze świata rzeczywistego.

Obiekty są więc pewnym modelem wycinka interesującego nas świata. Obiekty przechowują dane - mają określone cechy, mają też zaprogramowaną funkcjonalność - sposób, w jaki się zachowują. Wreszcie programowanie obiektowe modeluje współzależności między poszczególnymi obiektami.

Cechą programowania obiektowego jest więc abstrakcja, czyli tworzenie uproszczonego modelu świata. To także hermetyzacja - zamykanie danych i funkcjonalności, które dotyczą tych danych, w obiekty. Kolejną cechą jest dziedziczenie, czyli możliwość tworzenia hierarchii obiektów: od ogólnych, nadrzędnych obiektów po coraz bardziej szczegółowe, które przejmują i rozbudowują charakterystykę obiektów nadrzędnych.

Charakterystyczny dla programowania obiektowego jest też polimorfizm, czyli możliwość wywołania różnych funkcjonalności tej samej metody w zależności od kontekstu.

Cechy te warto zapamiętać, a w lepszym zrozumieniu tych pojęć pomogą kolejne zajęcia.

Klasy i obiekty

0x08 graphic

Rozejrzyjmy się. Otaczają nas różnorodne obiekty - w laboratorium będą to zapewne komputery, meble, drobne przedmioty, również koleżanki, koledzy, prowadzący zajęcia. W szerszym otoczeniu możemy zauważyć takie obiekty jak drzewa, pojazdy, budynki.

Każdy z tych obiektów ma tożsamość - możemy jednoznacznie zidentyfikować, na przykład za pomocą imienia i nazwiska, innych studentów na sali. Każdy z obiektów ma określone cechy - rozmiary, kolor, nazwę, numer... Obiekty też zachowują się w określony sposób. Pojazdy poruszają się, drzewa gubią liście, do budynku można wejść.

Zauważmy, że wszyscy studenci w sali mają pewne wspólne cechy i zachowania, na przykład budowę fizyczną, sposób komunikacji. Dotyczy to także innych obiektów: niezależnie od tego, czy mówimy o drzewie przed uczelnią, w parku czy w lesie, zazwyczaj posiada ono pień, korzenie, gałęzie. Niektóre mają igły, inne liście. W pokojowych warunkach wszystkie pojazdy powinny mieć koła, powinny się poruszać wyznaczonymi drogami, przewożąc osoby lub towary. Grupy takich podobnych obiektów tworzą klasy: wszyscy uczestnicy laboratorium należą do klasy student, obiekty poruszające się pobliską drogą należą do klasy pojazd, świerk i brzoza należą do klasy drzewo.

Zauważyć można też hierarchię klas: obiekty należące do klasy student, jak i obiekty klasy wykładowca należą do klasy osoba. Z kolei obiekty klasy drzewo można dodatkowo przyporządkować do klasy drzewo iglaste albo drzewo liściaste.

Każdy obiekt jest zatem egzemplarzem - czyli instancją - określonej klasy.

Programowanie obiektowe (2)

0x08 graphic

Dzięki wymienionym na początku zaletom, programowanie zorientowane obiektowo ma wiele zalet. Jak wspomnieliśmy, obiektowość pozwala na stworzenie modelu rzeczywistości. Dzięki temu, łatwo jest odtworzyć fragment świata w kodzie programu. Dzieje się to często intuicyjnie, ponieważ programując opisujemy rzeczywistość, którą dobrze znamy. Przekłada się to z kolei na łatwość projektowania aplikacji.

Powiedzieliśmy, że hermetyzacja pozwala na zamknięcie danych i funkcjonalności w obiekty. W ten sposób program jest modułowy, co niesie dodatkowe zalety. Łatwo rozwijać kod jednego obiektu nie martwiąc się o zachowanie całego programu. Można też łatwo dzielić pracę w zespole programistów, wykrywać błędy i włączać poszczególne obiekty do programu. Wreszcie, można zaprogramowane raz obiekty wykorzystać w kolejnych projektach.

Istnieje wiele języków zorientowanych obiektowo, niektóre najpopularniejsze są wymienione na slajdzie. Można też wspomnieć o Delphi (Object Pascal), Visual Basic czy Ruby.

Na tych laboratoriach, ćwiczenia będą odbywały się w języku C#.

Język C# (1)

0x08 graphic

Wprowadzony przez firmę Microsoft język C# jest językiem stosunkowo młodym. Został stworzony z założeniem, aby był to język łączący możliwości innych popularnych języków obiektowych, a przy tym był językiem łatwym.

Podobnie jak inne języki platformy .NET, jest kompilowany do języka Microsoft Intermediate Language i uruchamiany we wspólnym środowisku Common Language Runtime.

Język C# (2)

0x08 graphic

Aby korzystanie z języka C# było łatwe i wygodne, jego składnia mocno przypomina składnię takich języków jak C++, Java czy Perl.

Na slajdzie widzimy kilka przykładów: definicję zmiennej z określeniem jej typu - podobnie jak w innych językach, int oznacza liczbę całkowitą. Każde polecenie zakończone jest średnikiem. Mamy również do dyspozycji większość tych samych operatorów, jak tu - inkrementacji. Widzimy też polecenie wypisujące dane do konsoli tekstowej.

Znane powinny być również inne typy zmiennych i ich rzutowanie, a także sposób komentowania kodu programu.

Język C# (3)

0x08 graphic

Również składnia instrukcji warunkowych i pętli nie powinna przysparzać problemów.

Dokładny opis języka można znaleźć w bogatej literaturze, na stronach internetowych lub systemie pomocy środowiska programistycznego.

Środowisko programistyczne (1)

0x08 graphic

Ćwiczenia laboratoryjne będą wykonywane w Visual Studio 2005. To zintegrowane środowisko programistyczne łączy w sobie edytor z kolorowaniem składni i uzupełnianiem kodu, edytor graficzny formularzy, przeglądarkę klas i plików programu, zawiera debugger i kompilator, system pomocy i szereg innych ułatwień.

Środowisko programistyczne (2)

0x08 graphic

W Visual Studio 2005 każdy program jest projektem. Projekt (jeden lub wiele) jest elementem rozwiązania - pakietu programów (solution).

Rozpoczynając pracę, tworzymy nowy projekt. Możemy przy tym posłużyć się jednym z wielu dostępnych szablonów. Należy przy tym wybrać język programowania - C#. Na ćwiczeniach wykorzystywany będzie przede wszystkim szablon Console Application - program pracujący w oknie tekstowym, jednak do celów tworzenia aplikacji czy projektów zaliczeniowych można korzystać odpowiednio z innych szablonów, w szczególności Windows Application.

Przy tworzeniu programu w języku C#, definicja każdej klasy zapisywana jest w oddzielnym pliku. Nazwa pliku jest nazwą klasy, rozszerzenie takiego pliku to .cs.

Demonstracja

0x08 graphic

Prowadzący demonstruje najważniejsze kroki tworzenia nowego projektu w Visual Studio 2005:

0x08 graphic
Podsumowanie

Na zajęciach wprowadzony został paradygmat programowania zorientowanego obiektowo, przedstawione zostały cechy i zalety tego podejścia. Studenci zostali zapoznani z fundamentalnymi pojęciami klasy i jej instancji, obiektu.

W dalszej części przedstawione zostały podstawy składni języka C#, który będzie wykorzystywany na laboratoriach, oraz środowisko programistyczne Visual Studio 2005. Prowadzący zademonstrował jak poruszać się w tym środowisku, pokazując podstawowe czynności wykonywane podczas tworzenia programu.

Pytania sprawdzające

0x08 graphic

Pytania dla studentów sprawdzające wiedzę zdobytą na pierwszych zajęciach:

  1. Na czym polega hermetyzacja?

  2. Jakie są zalety programowania obiektowego?

  3. Czym się różni obiekt od klasy?

  4. Jakie możliwości oferuje zintegrowane środowisko programistyczne?

Laboratorium

0x08 graphic

W pozostałym czasie studenci powinni samodzielnie uruchomić Visual Studio 2005 i zapoznać się z jego podstawowymi funkcjami, niezbędnymi do wykonywania ćwiczeń na kolejnych zajęciach, powtarzając czynności zademonstrowane przez prowadzącego:

  1. Utworzyć własny projekt Console Application w języku C#.

  2. Dodać kilka klas do projektu.

  3. Wyświetlić diagram klas.

  4. Zapoznać się z edytorem kodu, uzupełnianiem składni i systemem pomocy.

  5. Kompilować kod, dodawać i kontrolować pułapki.

L

L



Wyszukiwarka

Podobne podstrony:
programowanie obiektowe 01
Programowanie obiektowe(ćw) 1
Zadanie projekt przychodnia lekarska, Programowanie obiektowe
Programowanie obiektowe w PHP4 i PHP5 11 2005
Programowanie Obiektowe ZadTest Nieznany
Egzamin Programowanie Obiektowe Głowacki, Programowanie Obiektowe
Jezyk C Efektywne programowanie obiektowe cpefpo
Programowanie Obiektowe Ćwiczenia 5
Programowanie obiektowe(cw) 2 i Nieznany
programowanie obiektowe 05, c c++, c#
Intuicyjne podstawy programowania obiektowego0
Programowanie obiektowe, CPP program, 1
wyklad5.cpp, JAVA jest językiem programowania obiektowego
projekt01, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
przeciazanie metod i operatorow, Programowanie obiektowe
projekt06, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
projekt07, wisisz, wydzial informatyki, studia zaoczne inzynierskie, programowanie obiektowe, projek
Programowanie Obiektowe Cz2, Dziedziczenie proste

więcej podobnych podstron