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.