Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Język C#.NET Maria DEMS. 2 Język C#.NET jest to obiektowy język programowania, łączący w sobie cechy języków C++, Javy i VB. Jego składnia przypomina.

Podobne prezentacje


Prezentacja na temat: "Język C#.NET Maria DEMS. 2 Język C#.NET jest to obiektowy język programowania, łączący w sobie cechy języków C++, Javy i VB. Jego składnia przypomina."— Zapis prezentacji:

1 Język C#.NET Maria DEMS

2 2 Język C#.NET jest to obiektowy język programowania, łączący w sobie cechy języków C++, Javy i VB. Jego składnia przypomina składnię C++, zawiera przeciążanie operatorów. Z języka Java pochodzi interfejs oraz sposób deklarowania klas (całość deklaracji w jednym miejscu), For Eachz VB zaczerpnięto zdarzenia i konstrukcję pętli For Each, używanej do przeglądania kolekcji. Język C#. NET

3 3 Programy napisane w języku C#, mogą składać się z kilku plików. Każdy plik musi zawierać, co najmniej jedną przestrzeń nazw, która najczęściej składa się z –innych przestrzeni nazw, –klas, –struktur, –interfejsów, –typów wyliczeniowych –delegacji, stanowiących dodatek do innych przestrzeni nazw. Ogólna struktura programu w języku C#.NET

4 4 W programie zawsze jest tworzona domyślna przestrzeń nazw - jest to przestrzeń globalna obecna w każdym pliku. Każdego identyfikatora, znajdującego się w globalnej przestrzeni, możemy używać w innej p rzestrzeni posiadającej nazwę. Namespace nazwa[.nazwa1]...] {deklaracje_typów;} gdzie: –nazwa,nazwa1 – dowolna nazwa określająca przestrzeń nazw (może zawierać spacje) –deklaracje_typów – deklaracje typów które można zdefiniować w przestrzeni nazw C#.NET - przestrzeń nazw

5 5 Using System; namespace PrzestrzenNazw1 { class Klasa1 {} struct Struktura1 {} interface Interface1 {} delegate int Delegacja(); enum Emulator {} namespace PrzestrzeńNazw2 {} class Klasa2{ public static void Main(string[] args) {}} } Using System; namespace PrzestrzenNazw1 { class Klasa1 {} struct Struktura1 {} interface Interface1 {} delegate int Delegacja(); enum Emulator {} namespace PrzestrzeńNazw2 {} class Klasa2{ public static void Main(string[] args) {}} } C#.NET - szkielet programu

6 6 usingSłowo kluczowe using, wykorzystywane jest jako: Dyrektywa using ·Dyrektywa using, tworząca synonim przestrzeni nazw; umożliwia ona korzystanie z wszystkich składników danej przestrzeni nazw (można korzystać z typów bez wprowadzania ich pełnej nazwy), ale nie udostępnia składników zawartych w zagnieżdżonej przestrzeni nazw. Instrukcja using ·Instrukcja using, określająca zakres ważności danego obiektu na czas jego użycia; zezwala na użycie typów zawartych w przestrzeni nazw bez konieczności wprowadzania nazwy złożonej określonego typu. C#.NET - przestrzeń nazw

7 7 Przestrzenie nazw można podzielić na dwie grupy: systemowe przestrzenie nazw (wbudowane, zawarte w.NET Framework). przestrzenie zdefiniowane przez użytkownika Sposób deklaracji: using [synonim=]klasa_lub_przestrzeń_nazw; gdzie: synonim – zdefiniowana przez użytkownika nazwa określająca daną przestrzeń nazw. klasa_lub_przestrzeń_nazw- przestrzeń nazw lub nazwa klasy korzystająca z danego synonimu. C#.NET - przestrzeń nazw

8 8 usingInstrukcję using stosujemy wtedy, gdy w danym miejscu programu potrzebny jest określony zasób (wyłącznie w celu wykonania określonej instrukcji). DisposePo wykonaniu instrukcji należy wykonać metodę Dispose, która zwolni niepotrzebny już zasób (zwolnienie zasobu odbywa się także mimo braku instrukcji Dispose). Sposób deklaracji: using (wyrażenie | typ identyfikator = inicjalizator) gdzie: wyrażenie – wyrażenie w którym wywoływana jest metoda Dispose. inicjalizator – wyrażenie tworzące obiekt C#.NET - instrukcja using

9 9 ClassClass – struktura danych zawierająca składniki danych (stałe, pola), składniki funkcyjne (metody, właściwości, zdarzenia, konstruktory) oraz typy zagnieżdżone. [atrybuty][modyfikatory]class identyfikator [:lista_bazowa] {ciało_klasy;} gdzie: atrybuty (opcjonalnie) – informacja deklaratywna modyfikatory (opcjonalnie) – stosowane są modyfikatory new, abstract, sealed i cztery modyfikatory dostępu identyfikator – nazwa danej klasy lista_bazowa (opcjonalnie) – zawiera nazwy jednej klasy bazowej i dowolną ilość zaimplementowanych interfejsów (oddzielonych przecinkami). C#.NET - typ referencyjny class

10 10 W języku C# możliwe jest dziedziczenie składników pochodzących od tylko jednej klasy bazowej. Sposoby dziedziczenia i implementacja interfejsów jest następująca: C#.NET - dziedziczenie

11 11 StrukturyStruktury reprezentują struktury danych, zawierają dane i składniki funkcyjne. Posiadają mała liczbę składników, co sprawia, że nie muszą korzystać z dziedziczenia czy tożsamości referencyjnej; w trakcie przypisania struktury kopiowana jest wartość a nie odwołanie. Typ strukturalny jest typem bezpośrednim, który może zawierać: –stałe, –konstruktory, –pola, –metody, –właściwości, –operatory i inne typy zagnieżdżone. C#.NET - struktury

12 12 Deklaracja struktury ma postać: [atrybuty][modyfikatory]struct identyfikator [:interfejsy] ciało[:] atrybuty (opcjonalnie)- dodatkowa informacja deklaratywna modyfikatory (opcjonalnie) – modyfikator new i modyfikatory dostępu identyfikator – nazwa struktury interfejsy (opcjonalnie) – wykaz interfejsów implementowanych przez strukturę (oddzielone przecinkami) ciało – ciało struktury zawierające deklaracje jej składników C#.NET - struktury

13 13 W przeciwieństwie do klas, struktury nie obsługują dziedziczenia; nie mogą dziedziczyć właściwości innej struktury czy klasy, nie mogą być bazą dla klasy potomnej. new,Jeśli do utworzenia struktury wykorzystamy operator new, wywołany zostanie odpowiedni konstruktor, newJeżeli nie korzystamy z operatora new, elementy struktury nie będą miały przypisanych początkowych wartości pól, dlatego przed wykorzystaniem takiej struktury należy zainicjować pola. C#.NET - struktury

14 14 Interfejs stanowi pewnego rodzaju umowę, której musi przestrzegać klasa lub struktura implementująca dany interfejs. Interfejs może dziedziczyć po wielu interfejsach bazowych, Klasa lub struktura może implementować wiele interfejsów. Interfejsy mogą zawierać sygnatury składników takich jak: metody, właściwości zdarzenia i indeksatory. Interfejs określa, jakie składniki muszą się znajdować w implementującej go klasie czy strukturze. Interfejs nie może być składnikiem przestrzeni nazw lub klasy C#.NET - interfejsy

15 15 Deklaracja interfejsu ma postać: [atrybuty][modyfikatory]interface identyfikator [:lista_bazowa] {ciało_interfejsu;} gdzie: atrybuty (opcjonalnie)- dodatkowa informacja deklaratywna modyfikatory (opcjonalnie) – modyfikator new i cztery modyfikatory dostępu identyfikator – nazwa danego interfejsu lista_bazowa (opcjonalnie) - wykaz zawierający jedną lub kilka nazw interfejsów bazowych (oddzielonych przecinkami) C#.NET - interfejsy

16 16 Deklaracja delegacji definiuje typ referencyjny hermetyzujący metodę z wyszczególnionym zestawem argumentów i ze zwracanym typem. Hermetyzacja metody polega na szczegółowym określeniu liczby i typu argumentów oraz typu wartości zwracanych przez metodę. Delegacja pozwala na przesłanie funkcji jako parametru (delegacja wymaga, aby funkcja przekazywana miała taka sama strukturę jak deklaracja delegacji). Używając delegacji nie trzeba znać klasy obiektu, do której obiekt delegacji się odwołuje, jedynie typy argumentów i typ zwracany przez metodę muszą być zgodne. Dzięki temu delegacje można wywoływać anonimowo. C#.NET - delegacje

17 17 Deklaracja delegacji ma postać: [atrybuty][modyfikatory] delegate typ_zwracany identyfikator([parametry]) gdzie: –atrybuty (opcjonalnie)- dodatkowa informacja deklaratywna –modyfikatory (opcjonalnie) – modyfikator new i cztery modyfikatory dostępu –typ_zwracany – typ jaki zostanie zwrócony, musi pasować do typu zwracanego przez metodę –identyfikator – nazwa danej klasy –parametry – lista parametrów C#.NET - delegacje

18 18 Wyliczenie stanowi odrębny typ zawierający zestaw stałych nazwanych, który jest listą wyliczeniową. Deklaracja wyliczenia ma postać: [atrybuty][modyfikatory] enum identyfikator [:typ_bazowy] {lista_wyliczenia;} gdzie: typ_bazowy (opcjonalnie) – źródłowy typ wyliczeniowy, który określa zawartość wyliczenia (domyślnie typ int) lista_wyliczenia – lista identyfikatorów wyliczenia oddzielonych przecinkami (domyślna wartość pierwszego elementu to 0, kolejne elementy mają wartość zwiększoną o 1). C#.NET - typ wyliczeniowy enum

19 19 Metoda main jest głównym segmentem programu, w którym zaczyna się i kończy jego działanie. Deklaracja tej metody znajduje się w klasie lub strukturze. Metoda main musi być metodą statyczną (static), może nie zwracać żadnej wartości (void) albo zwracać wartość typu int (int). Wewnątrz metody main tworzymy obiekty i inne metody. Metoda main umożliwia także pobieranie parametrów z wiersza poleceń. C#.NET - metoda main

20 20 mainMetoda main może nie zwracać żadnej wartości, wtedy jej deklaracja wygląda następująco: static void Main(){} lub zwracać wartość typu integer: static int Main(){} Metoda main może przyjmować, jako parametry, argumenty z wiersza poleceń. static void Main(string[] args) static int Main(string[] args) ConvertParseW obu tych przypadkach parametrem metody main jest tablica elementów typu string, które można konwertować na typy liczbowe korzystając z klasy Convert lub metody Parse. C#.NET - metoda main

21 21 Modyfikatory dostępu służą określeniu dostępności składnika lub typu. C#.NET wykorzystuje pięć poziomów dostępności, od największego do najmniejszego: C#.NET - modyfikatory dostępu

22 22 protected internalW deklaracji danego składnika można stosować tylko jeden modyfikator dostępu - wyjątkiem jest kombinacja protected internal. Jeżeli w deklaracji składnika nie występuje określenie dostępności, to przydzielana jest składnikowi dostępność domyślna (zależna od dostępności obiektu nadrzędnego). base:Słowo kluczowe base: –udostępnia składniki klasy bazowej w kodzie klasy pochodnej i umożliwia wywołanie przesłoniętej metody klasy bazowej. –umożliwia określenie konstruktora kl a sy bazowej, który będzie wykorzystywany podczas tworzenia egzemplarzy klasy pochodnej. C#.NET - modyfikatory dostępu

23 23 thisWskaźnik this odnosi się do bieżącego egzemplarza klasy, dla którego wywołano metodę. Słowa kluczowego this używa się do: –określenia składników danej klasy, ukrytych poprzez stosowanie podobnych nazw, np.: public Baza(string imie, string alias) {this.imie = imie; this.alias = alias;} –przekazywania obiektu jako parametru wywołania innych metod:Przelicz(this); C#.NET - wskaźnik this

24 24 –deklaracji indeksatorów: Public int this[int param] {get{ return array[param]; }set{ array[param]= value; }} C#.NET - wskaźnik this

25 25 if (wyrażenie) {instrukcja1;} else {instrukcja2;} Switch (wyrażenie) {case wartość1 {instrukcja1; instrukcja_skoku;} case wartość2 {instrukcja2; instrukcja_skoku;} default {instrukcja3; instrukcja_skoku; } } if (wyrażenie) {instrukcja1;} else {instrukcja2;} Switch (wyrażenie) {case wartość1 {instrukcja1; instrukcja_skoku;} case wartość2 {instrukcja2; instrukcja_skoku;} default {instrukcja3; instrukcja_skoku; } } C#.NET - instrukcje warunkowe

26 26 Do{instrukcja1;instrukcja2;} while (warunek); while (warunek) {instrukcja1;instrukcja2;} C#.NET - instrukcje iteracyjne

27 27 for ([inicjowanie_wartości];[wyrażenie];[it eratory]) {instrukcja1; instrukcja2;} Wielokrotne wykonywanie instrukcji wewnętrznych dla każdego elementu znajdującego się w tablicy lub w obiekcie kolekcji. foreach (typ identyfikator in wyrażenie) {instrukcja1;instrukcja2;} C#.NET - instrukcje iteracyjne

28 28 breakbreak –powoduje przerwanie wykonywania pętli lub instrukcji warunkowej w której się znajduje. continuecontinue – powoduje przerwanie jednego obiegu pętli; przekazuje sterowanie do następnej iteracji; gotogoto – służy do przekazywania sterowania bezpośrednio do instrukcji oznaczonej etykietą (najczęściej do określonej etykiety case instrukcji switch albo etykiety default instrukcji switch. goto identyfikator; goto case wartość; goto default; return – powoduje przerwanie wykonywania metody i powrót sterowania do miejsca, w którym metoda została wywołana; może zwrócić wartość wyrażenia. C#.NET - instrukcje skoku

29 29 Dino Esposito : Tworzenie aplikacji za pomocą ASP.NET oraz ADO.NET (Microsoft Press, Wydawnictwo RM Warszawa 2002) Julian Templeman, David Vitter : Visual Studio.NET:.NET Framework. Czarna Księga (Helion 2003) Microsoft Press : Microsoft Visual C#.NET Encyklopedia (Helion 2003) Rusty Harold : XML. Księga Eksperta (Helion 2001) Scott Worley : ASP.NET. Vademecum Profesjonalisty (Helion, 2003) Steaven Holzner : XML. Vademecum Profesjonalisty (Helion2001) / Literatura


Pobierz ppt "Język C#.NET Maria DEMS. 2 Język C#.NET jest to obiektowy język programowania, łączący w sobie cechy języków C++, Javy i VB. Jego składnia przypomina."

Podobne prezentacje


Reklamy Google