C Sharp/Klasa

Z Wikibooks, biblioteki wolnych podręczników.

[edytuj] Klasa

W programie obiektowym najważniejszym elementem programu są klasy i obiekty wywodzące się z klas. W czym tkwi różnica? Postaram się to klarownie wyjaśnić. Klasa jest rodzajem rusztowania - jest abstrakcyjna, notabene nie istnieje. Dopiero opierając się na tym rusztowaniu możemy coś zbudować. To 'coś' nazywamy w prog. obiektowym Obiektem. Zawzwyczaj, gdyż są wyjątki, wszelkie operacje wykonujemy na obiektach, obiekty komunikują się ze sobą i obiekty dają efekt pracy.

Jednak, aby powstał obiekt, musimy wyprowadzić klasę. I właśnie tym się zajmiemy w tym rozdziale.

[edytuj] Przykład klasy

    class Program
    {
    }

Znajome, prawda? Zobaczmy więc ten kod ponownie, tym razem z komentarzami.

    class Program // deklarujemy - tworzymy - klasę o nazwie Program, która jest ogólnodostepna - publiczna.
    {
    }

Tyle ile kodu w tej klasie, tyle i ona pracy wykonuje. Aby dodawać funkcjonalność musimy stworzyć strukturę wewnątrz tej klasy.

[edytuj] Metody i pola klasy

Czym są metody? Jest to funkcjonalność klasy. Dzięki metodom możemy dokładnie zaplanować program oraz dodawać dodatkową funkcjonalość. Dla przykładu kolejny kawałek kodu:

    class Program
    {
        public void HelloWorld() /* tworzona jest publiczna metoda o nazwie HelloWorld. 
                                  * Nie przyjmuje ona nic - fachowo nie przyjmuje argumentów.
                                  * Sama metoda nic nie zwraca wyniku. Pokazuje jedynie napis. */
        {
            Console.WriteLine("Witaj świecie! :D"); // znany i kochany WriteLine();
        }
    }

Przypatrzmy się budowie samej deklaracji metody:

public // publiczna - mam do niej dostęp z każdego miejsca programu.
void // mówi o tym, co program zwraca. W tym przypadku nie zwraca nic.
HelloWorld //dowolna nazwa
() // nie przyjmuje żadnych argumentów

Jeśli istnieją metody, które nic nie zwracają to muszą i istnieć takie, które coś zwracają. Kolejny przykład powinien troszkę to rozjaśnić.

class Program
{
      public int Dodawanie()
      {
      int a = 10; //tworzymy zmienną a
      int b = 15; // tworzymy zmienną b.
      return a+b; //zwracamy sumę obu zmiennych.
      }
}

Co to znaczy - zwracamy? Kiedy wywołamy tą metodę ona będzie traktowana, jak to co zwraca. Dla programu przestanie liczyć się to, że to metoda.

Poprzedni rozdział: Typy danych Spis treści Następny rozdział: Operatory