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.
Interfejs jest to nazwa grupy metod, okreś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)
kokos324