Skip to content

Instantly share code, notes, and snippets.

@pjastr
Last active October 21, 2017 09:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pjastr/347509ac3bda2d402f842b03a539f1ba to your computer and use it in GitHub Desktop.
Save pjastr/347509ac3bda2d402f842b03a539f1ba to your computer and use it in GitHub Desktop.

Definicja klasy:

modyfikator_dostępu class NazwaKlasy
{
	deklaracje pól i metod
}

Modyfikatory dostępu - umożliwiają określenie dostępu do danego elementu z zewnątrz klasy. Rodzaje:

  • publiczne (public) - elementy publiczne, dostępnymi na zewnętrz klasy,
  • chronione (protected) - elementy traktowane jako chronione, będą dostępne dla danej klasy oraz na potrzeby klas dziedziczonych, nie będą natomiast widoczne na zewnątrz klasy,
  • wewnętrzne (internal) - nie będą udostępniane na zewnątrz podzespołu/projektu,
  • wewnętrzne chronione (protected internal),
  • prywatne (private) - elementy prywatne, a dostęp do nich z poza klasy, będzie niemożliwy.
  • prywatne chronione (private protected) - nowość w wersji C# 7.2 (znajomość nie jest wymagana na ćw) - link

Inne modyfikatory:

  • do odczytu(readonly) - tylko do odczytu, wartość do pola oznaczonego jako readonly możemy przypisać w chwili deklaracji takiego pola lub w konstruktorze klasy,
  • statyczne (static) - takie pole jest częścią stanu klasy.

Pola - zmienne przechowywane w danej klasie. Deklaracja:

modyfikator typ_danych nazwaPola;

np.

public int powierzchnia;

Metody - definiują zachowanie, umożliwiając im wykonywanie konkretnych zadań, nie można ich definiować poza ciałem klasy. Deklaracja zawiera:

  • modyfikator
  • typ zwracany przez metodę
  • nazwa metody (NazwaMetody())
  • lista typów i nazw parametrów metody

Modyfikatory metod (poza wcześniejszymi):

  • virtual
  • override
  • new
  • sealed
  • abstract
  • static - może być wywoływana bez konieczności tworzenia obiektu
  • extern – implementacja zewn.

Przykłady:

public int PodajCene()
{
	return powierzchnia*3000;
}

public int PoliczSume(int liczba1, int liczba2) 
{
    return liczba1 + liczba2;
}

public void WyswietlImie()
{
	Console.WriteLine(imie);
}

Przeciążone metody to takie, które:

  • mają taki sam typ zwracany,
  • mają identyczną nazwę,
  • różnią się tylko ilością lub typami przekazywanych parametrów.

Przykład:

string OpiszTyp()
{
	return "Metoda bez argumentów";
}
string OpiszTyp(int x)
{
	return "Liczba całkowita";
}
string OpiszTyp(string x)
{
	return "Łańcuch znaków";
}
string OpiszTyp(double x, int y)
{
	return "Liczba double i liczba całkowita";
}

Tworzenie obiektów - operator new: Deklaracja

typ nazwaObiektu = new NazwaKlasy()

Przykład:

Dom domBasi = new Dom();

Odwołanie się do pól klasy:

nazwaObiektu.nazwaPola

Przykład:

domBasi.powierzchnia = 200;
domBasi.garaz = true;
domBasi.iloscPokoi = 7;
domBasi.ogrod = false;
domBasi.iloscPieter = 1;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment