- Wykonaj w ramach jednego projektu następujące polecenia:
- Stwórz klasę
Car
. - Stwórz w niej nowe prywatne pola
double pojemonoscSilnika
,string marka
. - Stwórz obiekt typu
Car
, czy masz dostęp do jego pól? czy możesz zmienić wartości? (nie zmieniaj pól klasy na publiczne). - Do klasy
Car
dodaj samodzielnie napisany konstruktor bez parametru. - Przeciąż konstruktor tworząc nowy:
Car(double pojemonoscSilnika, string marka)
. Niech ten parametryczny konstruktor ustawia wartości pól pojemność silnika oraz marka. (użyj inicjalizatorathis
). - Stwórz nowy obiekt za pomocą konstruktora parametrycznego.
- Za pomocą debuggera sprawdź jakie warości na prywatnych polach ma obiekt numer 1, a jakie obiekt 2.
- Zmień modyfikatory dostępu konstruktorów na private. Czy jest możliwe utworzenie nowego obiektu tej klasy? Co się stało z konstruktorem domyślnym?
- W klasie
Car
stwórz metodęCreate()
, która będzie zwracać obiekt. - Stwórz obiekt dzięki metodzie
Create()
(pamiętałeś o dodaniustatic
do metody? ) - Utwórz statyczne pole int
iloscKol
. Następnie stwórz statyczny konstruktor ustawiający wartość tego pola na 4. Jak możesz odwołać się do pola? czy możesz go zmodyfikować? co się zdanie jak dodaszreadonly
? - Uruchom program i w debuggerze sprawdź jaką wartość pola
iloscKol
ma wczesniej stworzony obiekt. - Dodaj w klasie
Car
stałe pole iloscDrzwi i ustaw mu wartość 4. Jak możesz się do niego odnieść? czy możesz go zmodyfikować? - Do klasy
Car
dodaj destruktor~Car()
, wewnątrz dodaj następujący kod:
Console.WriteLine(„Zwalniam pamięć”);
Console.ReadKey();
- Uruchom program i zwróć uwagę kiedy następuje zwolnienie pamięci.
- Stwórz klasę
Bohater
z polami:hp
typu int,nazwa
typustring
. Zadbaj o hermatyzację. W klasie dodaj metody:
- konstrukt parametryczny inicjujący oba pola,
Zadaj Cios(int)
- metoda obniża hp o podany parametr o ile hp pozostanie dodanie. Jeśli hp jest ujemne lub zero, należy ustawić hp na zero.Stan()
- metoda zwracatrue
jeśli hp jest dodanie,false
w przeciwym wypadkuOpis()
- metoda zwraca string z nazwą bohatera i aktualnym stanem hp.
Następnie w klasie Program
stwórz obiekt typu Bohater
i przetestuj na nim działanie metod.
-
Stwórz klasę
NaszaKlasa
i dodaj w niej publiczne statyczne polelicznik
i nadaj mu wartość początkową0
. Chcesz stworzyć licznik instacji obiektów danej klasy. Czy powinno się użyć konstruktora "zwykłego" czy statycznego? -
Stwórz klasę
Matematyka
i dodaj w niej statyczne polepi
i nadaj mu wartość 3.14. Następnie w tej klasie dodaj statyczne metody z 1 parametrem pozwalające obliczyć pole i obwód koła. W klasieProgram
i metodzieMain
przećwiczyć użycie tych metod. Czy możemy dodać modyfikatorstatic
do klasyMatematyka
? co się zmieni? -
W klasie
Program
poza metodąMain
dodaj kod:
static string OpiszTyp()
{
return "Metoda bez argumentów";
}
static string OpiszTyp(int x)
{
return "Liczba całkowita";
}
static string OpiszTyp(string x)
{
return "Łańcuch znaków";
}
static string OpiszTyp(int x, int y)
{
return "Dwie liczby calkowite";
}
W metodzie Main
przetestuj działanie tych metod.