kokos324
Wprowadzanie danych w trakcie działania aplikacji. Program z wprowadzoną obsługą wyjątku
try
,
catch
.
try
{
Console
.Write(
"Pobierz liczbę "
);
int
liczba =
int
.Parse(
Console
.ReadLine());
Console
.WriteLine(
"Wpisana liczba to {0}"
, liczba);
Console
.ReadLine();
}
catch
(
Exception
)
{
Console
.WriteLine(
"Wprowadzona wartość nie jest liczbą."
);
}
Console
.ReadLine();
Pętla
for
{
for
(
int
i = 0; i <= 2; i++)
{
Console
.Write(
" "
+ (3 - i));
}
Console
.WriteLine(
" Start!"
);
Console
.ReadLine();
}
Pętla
while
{
int
i = 0;
while
(i < 5)
{
Console
.WriteLine(
"PĘTLA"
);
i++;
}
Console
.ReadLine();
}
Pętla
foreach
{
int
[] fibarray =
new
int
[] { 0, 1, 2, 3, 5, 8, 13 };
foreach
(
int
i
in
fibarray)
{
System.
Console
.WriteLine(i);
}
Console
.ReadLine();
}
kokos324
Generowanie liczb pseudolosowych zmiennoprzecinkowych
{
Random
g1 =
new
Random
();
for
(
int
i = 0; i < 5; i++)
{
double
liczba = 9 * g1.NextDouble() + 1;
Console
.WriteLine(
"{0}. {1:F4}"
, i+1, liczba);
}
Console
.ReadLine();
}
Metody zawierają kod, który operuje na polach danej klasy lub też danych dostarczonych z zewnątrz.
Wywołanie metody:
nazwa_zmiennej.nazwa_metody(argumenty_metody);
Obiekty to byty programistyczne, które potrafią przechowywać jakieś wartości oraz wykonywać pewne
operacje.
Klasy to opisy takich obiektów. Klasa to specyfikacja na podstawie której tworzone są obiekty.
Konstruktory to specjalne metody, które są wykorzystywane podczas tworzenia obiektu.
Konstruktory
są publiczne i nie mogą zwracać wyniku.
Konstruktory
mają identyczną nazwę jak nazwa klasy.
class
Robot
{
public
int
x;
// pola
public
int
y;
//
public
Robot()
// konstruktor
{
x = 10;
y = -10;
}
// metody
}
kokos324
Modyfikatory dostępu
public
dane składowe można zmieniać a metody wywoływać z dowolnego miejsca
w kodzie programu
protected
dostęp możliwy wyłącznie z klasy w której zostały one zadeklarowane lub z
klas dziedziczących po tej klasie
private
dostępne wyłącznie z klasy w której znajduje się ich deklaracja
Składniki statyczne klasy
Słowo kluczowe
static
oznacza, że taki składnik należy do danego typu danych, a nie do konkretnego obiektu
(analogia do zmiennej statycznej w języku C).
Metody statyczne
Statyczne mogą być także metody. Przykład klasy posiadającej metody "zwykłe" i statyczne:
{
PewnaKlasa
obiekt1 =
new
PewnaKlasa
();
obiekt1.metoda1();
PewnaKlasa
.metoda2();
Console
.ReadLine();
}
##########################################################
class
PewnaKlasa
{
public
int
zmienna1;
public
void
metoda1()
{
Console
.WriteLine(
"Wywołano metodę 1 (zwykłą)"
);
}
public
static
void
metoda2()
{
Console
.WriteLine(
"Wywołano metodę 2 (statyczną)"
);
}
}
kokos324
Dziedziczenie:
using
System;
class
Osoba
{
public
string
Imie;
public
string
Nazwisko;
public
string
PodajDaneOsobowe()
{
return
Imie +
" "
+ Nazwisko;
}
}
class
Student
:
Osoba
{
public
int
RokStudiow;
public
string
KierunekStudiow;
}
class
Pracownik
:
Osoba
{
public
string
Stanowisko;
}
Tworzenie obiektu i wywołanie metody do odczytu danych
{
WeWy
ob1 =
new
WeWy
();
int
liczba = ob1.odczytLiczby();
Console
.WriteLine(
"Wpisana liczba to {0}"
, liczba);
Console
.ReadLine();
}
#################################################
class
WeWy
{
public
int
odczytLiczby()
{
int
liczba = 0;
bool
udany =
false
;
do
{
Console
.Write(
"Podaj liczbę "
);
try
{
liczba =
int
.Parse(
Console
.ReadLine());
udany =
true
;
}
catch
(
Exception
)
{
Console
.WriteLine(
"Niepoprawne wprowadzenie danej."
);
}
}
while
(!udany);
return
liczba;
}
}
kokos324
Tablice
•W C# tablice są obiektami potrzeba więc utworzyć nowy obiekt
•Deklaracja zmiennej tablicowej i tworzenie nowego obiektu odbywa się według schematu poniżej
Typ_tablicy[] nazwa_tablicy = new typ_tablicy[liczba_elementów];
Definicja stałych rzeczywistych
Stałe znakowe reprezentują pojedynczy znak i zwykle zawierają dany znak umieszczony w apostrofach.
char
c =
'a'
, d =
'1'
;
Obsługa błędów z blokiem
try
i
catch
Wyjątek jest obiektem klasy System.Exception lub pochodnych. W związku z tym posiada on swoje własności
(pola obiektu). Najbardziej interesujące z nich to:
Message – łańcuch tekstu zawierający opis błędu
StackTrace – łańcuch zawierający wszystkie wywołane metody od miejsca wystąpienia bloku Catach
Dziedziczenie konstruktora
class
Osoba
{
protected
string
imie, nazwisko;
public
Osoba(
string
im,
string
nazw)
{
imie = im;
nazwisko = nazw;
}
}
[ . . . ]
class
Student
:
Osoba
{
private
int
numeralbumu;
public
Student(
string
im,
string
nazw,
int
nra) :
base
(im, nazw)
{
numeralbumu = nra;
}
kokos324
Tablice nieregularne – tablica tablicy
int
[][] tab =
new
int
[4][];
tab[0] =
new
int
[3] { 5, 7, 9 };
tab[1] =
new
int
[2] { 1, 10 };
tab[2] =
new
int
[5] { 3, 10, 7, 0, -32 };
tab[3] =
new
int
[1] { 8 };
for
(
int
x = 0; x < tab.Length; x++)
[ . . . ]
{
Console
.Write(
" "
+ tab[x][y]);
}
Polimorfizm w programowaniu obiektowym, to wykazywanie przez metodę różnych form działania, w
zależności od tego jaki typ obiektu jest wskazywany.
I
nterfejs
jest to nazwa grupy metod, o
kreśla jakie funkcje dana klasa musi zawierać
.
(interfejs nie może zawierać
zmiennych)
interface
IZapis
{
void
ZapiszDaneObiektu();
}
AS i IS
as:
obiekt as interfejs;
is:
if(obiekt is interfejs)