Sprawdzanie składowych klasy
Programowanie obiektowe (OOP) to paradygmat programowania, który używa obiektów do modelowania rzeczywistych jednostek. W przypadku programowania obiektowego klasy są strategią tworzenia obiektów i definiowania danych i zachowania tych obiektów.
Klasy używają pól do definiowania danych obiektu, właściwości w celu kontrolowania dostępu do pól i metod definiowania zachowania obiektu.
Chociaż właściwości i metody często zwracają największą uwagę, klasy obejmują inne elementy członkowskie, które pomagają zdefiniować ich strukturę i zachowanie. W poniższej tabeli wymieniono elementy członkowskie klasy:
| Członek | Opis |
|---|---|
| Pola | Pola to zmienne zadeklarowane w zakresie klasy. Pole może być wbudowanym typem liczbowym lub wystąpieniem innej klasy. Na przykład klasa kalendarza może mieć pole zawierające bieżącą datę. |
| Stałe | Stałe to pola, których wartość jest ustawiana w czasie kompilacji i nie można ich zmienić. |
| Właściwości | Właściwości to metody w klasie, do której uzyskuje się dostęp, tak jakby były polami w tej klasie. Właściwość może zapewnić ochronę pola klasy, aby uniemożliwić jego zmianę bez znajomości obiektu. |
| Metody | Metody definiują akcje, które może wykonywać klasa. Metody mogą przyjmować parametry dostarczające dane wejściowe i mogą zwracać dane wyjściowe za pomocą parametrów. Metody mogą również zwracać wartość bezpośrednio bez użycia parametru. |
| Zdarzenia | Zdarzenia dostarczają powiadomienia o wystąpieniach, takich jak kliknięcia przycisków lub pomyślne zakończenie metody, do innych obiektów. Zdarzenia są definiowane i wyzwalane przy użyciu delegatów. |
| Operatorów | Przeciążone operatory są traktowane jako elementy członkowskie typu. Podczas przeciążenia operatora należy zdefiniować go jako publiczną metodę statyczną w typie. |
| Indeksatory | Indeksatory umożliwiają indeksowanie obiektu w sposób podobny do tablic. |
| Konstruktorów | Konstruktory to metody wywoływane podczas pierwszego tworzenia obiektu. Są one często używane do inicjowania danych obiektu. |
| Finalizatory | Finalizatory są rzadko używane w języku C#. Są to metody wywoływane przez aparat wykonywania środowiska uruchomieniowego, gdy obiekt ma zostać usunięty z pamięci. Są one używane do upewnienia się, że wszystkie zasoby, które należy zwolnić, są odpowiednio obsługiwane. |
| Typy zagnieżdżone | Typy zagnieżdżone to typy zadeklarowane w ramach innego typu. Typy zagnieżdżone są często używane do opisywania obiektów, które są używane tylko przez typy, które je zawierają. |
Pola, właściwości, metody i konstruktory w definicji klasy
Chociaż definicja klasy może zawierać wszystkie elementy członkowskie wymienione w tabeli, najczęściej są to pola, właściwości, metody i konstruktory. Te elementy członkowskie tworzą główną strukturę większości klas w języku C#, zapewniając niezbędny magazyn danych, mechanizmy dostępu, definicje zachowania i logikę inicjowania.
Poniższy fragment kodu ilustruje sposób użycia typowych składowych klas do definiowania i implementowania klasy w języku C#:
public class Person
{
// Fields
private string name;
private int age;
// Properties
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
// Constructors
public Person(string name, int age)
{
Name = name;
Age = age;
}
// Methods
public void Display()
{
Console.WriteLine($"Name: {Name}, Age: {Age}");
}
}
class Program
{
static void Main()
{
Person person = new Person("PersonName", 30);
person.Display();
}
}
W tym przykładzie użyto następujących typów składowych:
- Pola: klasa
Personma dwa pola,nameiage, które są prywatne. - Właściwości: klasa
Personma dwie właściwości,NameiAge, które zapewniają dostęp do pól prywatnych. Właściwości używają metod dostępugetisetdo odczytywania i zapisywania wartości pól. - Konstruktory: klasa
Personma konstruktor, który inicjuje polanameiagepodczas tworzenia nowego obiektuPerson. - Metody: klasa
Personma metodęDisplay, która zapisuje nazwę i wiek osoby w konsoli.
Klasa Program zawiera metodę Main, która służy jako punkt wejścia aplikacji. Metoda Main tworzy nowy obiekt Person, inicjuje go o nazwie "John" i wieku 30 lat, a następnie wywołuje metodę person.Display, aby zapisać informacje osoby w konsoli.