[języki i paradygmaty programowania - Visual C#] laboratorium 2
Rafał Foltyn ___________________________________________________________________________________________________str. 1/6
teoria
Biblioteka klas zawiera szereg szablonów obiektów, z których budowane są i z których korzystają aplikacje Windows,
Web i Web Service.
.NET Framework wspiera trzy typy interfejsów użytkownika:
" Web Forms, oparte o interfejs przeglądarki internetowej i ASP.NET,
" Windows Form, oparte o klasyczne formularze systemu Windows,
" aplikacje dla konsoli.
Najczęściej używane biblioteki klas .NET
Microsoft.Win32 Zawiera dwa rodzaje klas: obsługujące zdarzenia generowane przez system i
obsługujące rejestr systemowy
System Zawiera bazowe klasy definiujące typy danych, zdarzenia i uchwyty zdarzeń,
interfejsy, atrybuty oraz obsługę wyjątków
System.Collections Zawiera interfejsy i klasy definiujące kolekcje obiektów takich jak: listy, kolejki,
tablice bitowe, słowniki itp.
System.ComponentModel Zawiera klasy do manipulacji zachowaniem komponentów i kontrolek
System.Configuration Zawiera klasy oraz interfejsy pozwalające na programowalny dostęp do ustawień
konfiguracyjnych .NET Framework oraz przechwytywania błędów związanych z
obsługą plików konfiguracyjnych (plików z rozszerzeniem .config)
System.Data Zawiera klasy wspierające architekturę ADO.NET, która pozwala na łatwą
manipulację danymi oraz zródłami danych z baz danych
System.Data.SqlTypes Zawiera klasy i struktury typów danych bazy
System.Globalization Zawiera klasy definiujące informacje specyficzne dla danego kraju (język, strefa
czasowa, format wyświetlania daty, pieniędzy, liczb itp. Klasy są wykorzystywane
do tworzenia aplikacji wielojęzycznych
System.IO Zawiera klasy pozwalające na manipulację plikami i strumieniami oraz zarządzanie
plikami i folderami
System.Net Zapewnia prosty interfejs dla wielu protokołów sieciowych
System.Text Zawiera klasy reprezentujące standardy kodowania znaków np. ASCII, UTF-8 itp.
System.Web Zawiera klasy i interfejsy zapewniające komunikację z serwerem Webowym.
System.Windows.Form Zawiera klasy i interfejsy do tworzenia aplikacji okienkowych. Zbiór zawiera pełną
gamę komponentów niezbędnych do tworzenia interfejsu użytkownika.
System.Drawing Zapewnia dostęp do podstawowej funkcjonalności obsługi grafiki
Projekt aplikacji
Każdy projekt zapisywany jest na dysku w postaci plików zawierających definicje formularzy oraz kod aplikacji.
Można tworzyć rozwiązania złożone z większej liczby projektów niż jeden. Plik opisujący takie rozwiązanie nazywa się
Solution.
Solucja (ang. solution) jest to kontener dla elementów solucji i projektu, z którego może być zbudowana aplikacja.
Solucja zawiera zwykle jeden lub więcej powiązanych projektów.
Projekt (ang. project) jest kontenerem w ramach solucji, który może być użyty do logicznego zarządzania, budowania i
[języki i paradygmaty programowania - Visual C#] laboratorium 2
Rafał Foltyn ___________________________________________________________________________________________________str. 2/6
wykrywania błędów elementów projektu, które tworzą aplikację.
.sln - rozszerzenie solucji, dostarcza informacji o lokalizacji plików solucji na dysku,
.suo - przechowuje wszystkie ustawienia użytkownika skojarzone z konkretną solucją,
.csproj - przechowuje informacje o projekcie,
.cs - opisuje klasy, właściwości i metody,
Designer.cs - opisuje właściwości formularza.
.resx - opisuje zasoby (resource), plik w formacje XML.
Pisanie aplikacji
Wyrażenie using pozwala skorzystać z kodu zawartego z bibliotece klas .NET. Najczęściej wyrażenie to jest
umieszczane na początku kodu programu, aby poinformować kompilator z jakich zasobów biblioteki klas korzysta
program.
Metoda Main
Kod static void Main informuje kompilator, o lokalizacji miejsca, od którego należy rozpocząć wykonywanie aplikacji.
Każda aplikacja C# musi zawierać metodę Main w jednej ze swoich klas.
Komentarze
// - jedna linia
/* */ - kilka linii
Komentarze XML
///
///Opis metody
//////
numer czegoś tam
///
ulica
Przestrzeń nazw to system wykorzystywany do grupowania związanych ze sobą klas. Korzystając z nich możesz
uporządkować klasy w logicznie powiązaną hierarchię. Przestrzenie funkcjonują zarówno jako system porządkujący
strukturę aplikacji jak i zabezpieczenie przed kolizjami nazw między kodem Twojej aplikacji i zewnętrznych aplikacji.
Namespace Company.Sales {
public class Customer {}
}
Company.Sales.Customer cust = new Company.Sales.Customer();
Typy danych
" byte liczba całkowita od 0 do 255 (1 bajt)
" short liczba całkowita od -32768 do 32767 (2 bajty)
" int liczba całkowita od -2147483648 do 2147483647 (4 bajty)
" uint liczba całkowita od 0 do 4294967295 (4 bajty)
" bool wartość Boolean prawda lub fałsz (1 bajt)
" float liczba zmiennoprzecinkowa pojedynczej przecyzji (4 bajty)
" double liczba zmiennoprzecinkowa podwójnej przecyzji (8 bajtów)
" decimal precyzyjna liczba ułamkowa do 28 znaczących cyfr (12 bajtów)
" object typ bazowy dla pozostałych typów
" char pojedynczy znak Unicode od 0 do 65535 (2 bajty)
" string nieograniczony ciąg znaków Unicode (wielkość nieoznaczona)
int mojaZmienna = 1;
string mojTekst = mój tekst ;
double mojeWydatki = 45.56;
[języki i paradygmaty programowania - Visual C#] laboratorium 2
Rafał Foltyn ___________________________________________________________________________________________________str. 3/6
Klasy - jest takim samym typem danych, jak liczby całkowite czy łańcuchy znaków. Jest tylko trochę bardziej
skomplikowana. Aby utworzyć egzemplarz (zwany też instancją) naszej klasy, piszemy zwykłą konstrukcję deklaracji
zmiennej, w której jako typ danych podajemy nazwę naszej klasy. Każdy egzemplarz klasy należy zainicjować,
używając słowa kluczowego new.
Zmienne i funkcje składowe klasy - składnikami mogą być dane różnych typów int, double, string i tak dalej. Dane
te nazywamy danymi składowymi lub zmiennymi składowymi klasy.
Składnikami klasy mogą być też funkcje. Funkcje takie nazywane są funkcjami składowymi lub metodami.
Wszystkie zmienne i funkcje składowe klasy można oznaczyć dodatkowymi atrybutami (na
przykład private lub public), określającymi ograniczenia dostępu lub zachowanie danej funkcji w
klasach dziedziczących po tej klasie.
class ModelSamochodu
{
// zmienne składowe
private double Predkosc;
private double PrzejechanaDroga;
private double SkrecenieKol;
public string Nazwa;
public string Kolor;
// konstruktor klasy
public ModelSamochodu(string KolorFabryczny)
{
Kolor = KolorFabryczny;
}
// funkcje składowe
public void Jazda(double Droga)
{
}
public void Skrec(double IleStopni)
{
}
}
ModelSamochodu mojSamochod = new ModelSamochodu("czerowny");
ModelSamochodu sasiadaSamochod = new ModelSamochodu("czarny");
Do określania typu dostępu służą słowa kluczowe, zwane modyfikatorami dostępu:
" public - składowe zadeklarowane przy użyciu tego modyfikatora posiadają dostęp publiczny. Dane składowe
można zmienić, a metody wywołać z dowolnego miejsca w kodzie programu. Jeśli pisane oprogramowanie
jest biblioteką, to metody można także wywoływać z całego kodu wykorzystującego tę bibliotekę,
" private - składowe zadeklarowane przy użyciu słowa kluczowego private mają dostęp prywatny. Są one
dostępne wyłącznie z klasy, w której znajduje się ich deklaracja;
Klasy mają domyślnie zasięg publiczny. Składowe klas mają domyślnie zasięg private. Zasięg składowej nigdy nie jest
większy niż zasięg klasy czy przestrzeni nazw, w której się znajduje.
Typy statyczne - static
Statyczną składową klasy może być własność, metoda lub zmienna. Powiązane są z klasą, nie z określoną instancją
obiektu.
[języki i paradygmaty programowania - Visual C#] laboratorium 2
Rafał Foltyn ___________________________________________________________________________________________________str. 4/6
Typ wyliczeniowy nie można tworzyć w metodzie, można w klasie lub przestrzeni nazw.
enum Dzien {Poniedzialek, Wtorek};
enum Dzien:uint {Poniedzialek = 1, Wtorek = 2}; - dozwolony dowolny typ
całkowity oprócz char
Dzien Dzisiaj = Dzien.Wtorek;
Stałe nie można w dalszej części kodu programu zmienić zainicjowanej wartości
const int liczba = 200;
Kilka zasad:
" Kompilator C# rozróżniania wielkości liter w kodzie
" Nie używamy polskich liter w kodzie
" Nazwy metod, własności, zmiennych nie mogą zawierać spacji w nazwie
" Liczby zmiennoprzecinkowe piszemy z kropką jako separator miejsc dziesiętnych
" Staramy się maksymalnie opisywać kod stosując komentarze
" Każda metoda musi zwracać wartość, możemy jednak zwracać typ pusty void
private void mojaFunkcjaNicNieZwroci()
{
//jakies polecenia
return;
}
" Każdą zadeklarowaną zmienną powinno się inicjować wartością początkową.
[języki i paradygmaty programowania - Visual C#] laboratorium 2
Rafał Foltyn ___________________________________________________________________________________________________str. 5/6
INSTRUKCJA WARUNKOWA IF
if (warunek)
instrukcja ;
LUB
if (warunek)
{
instrukcje;
&
}
PTLA FOR
for (inicjalizacja, warunek, interacja)
instrukcja;
LUB
for(inicjalizacja, warunek, interacja)
{
instrukcje;
}
PTLA WHILE
while (warunek)
{
instrukcje;
}
PTLA DO-WHILE
do {
instrukcje& ;
} while(warunek);
PTLA FOREACH
foreach(typ_elementu nazwa in kolekcja) {
&
}
[języki i paradygmaty programowania - Visual C#] laboratorium 2
Rafał Foltyn ___________________________________________________________________________________________________str. 6/6
Zadania:
1. Oblicza pierwiastki równania kwadratowego z podanych współczynników. W tym programie użyj instrukcji
sterujących (if). Współczynniki podajemy w czasie wykonania programu.
Console.ReadLine(); , czyli np. : - uruchamiam program wpisując: delta
- program przedstawia się:
Obliczam pierwiastki równania kwadratowego.
-----------
podaj A: 2
------------
podaj B: 3
------------
podaj C: 2
------------
delta = 8
-------------
x1 = 2
x2 = 2
2. Wiedząc, że tablice możemy zainicjalizować już w momencie ich tworzenia, zadeklaruj tablicę
siedmioelementową i wypełnij liczbami 21-27. Zawartość wyświetl na ekranie.
Typ[] nazwa = new typ [liczba_elementow]{element1, element2, ...}
np.:int[] mojatablica = new int[44]{1,2,3,...,44}
3. Wyświetl zawartość tablicy 10-elementowej składającej się z liczb z zakresu 6-15, za pomocą pętli for.
4. Wykorzystując pętlę FOREACH:
foreach(typ identyfikator in wyrazenie)
{ //instrukcje }
np.: foreach(int i in tabl)
{ //instrukcje }
wykorzystaj ją do wyświetlenia wszystkich elementów na ekranie.
5. Wyświetl informację o ilości liczb parzystych w tablicy, wykorzystując pętlę FOREACH.
6. Napisz program, który przechowuje w tablicy nazwiska kolegów z grupy i wypisuje je na ekran.
7. Zadeklaruj tablicę dwuwymiarową typu INT, składającą się z 4 wierszy i 3 kolumn. Zainicjuj ją kolejnymi
liczbami. Wyświetl zawartość.
Wyszukiwarka
Podobne podstrony:
11aaccess st2008z lab02 tabelers 11a w32mj6ipvxqvudbg6ixjbpjbbl5tgcsxvdb3pfyLAB02 OINS Kalmus Turek11a11aLab02 TokenRingAiP Lab02lab02 0811a11a11awięcej podobnych podstron