czwartek, 2 lipca 2009

Dzień 4

Dziedziczenie i polimorfizm.

Dziedziczenie:
Stworzenie klasy potomnej i określenie kto jest jej rodzicem
W c# można zabezpieczyć klasę przed dziedziczeniem używając polecenia sealed

Polimorfizm:
Wielopostaciowość - wielopostaciowe są klasy i obiekty.
Przysłanianie metod - override

Metoda abstrakcyjna to taka, która nie ma ciała.

Interfejs:
Klasa, która zawiera wyłącznie metody abstrakcyjne. Definiuje tylko nazwy metod.
Porządkuje klasy
Możemy implementować wiele interfejsów w jednej klasie.

Rzutowanie:
Tymczasowa zmiana typu zmiennej lub obiektu.


Obsługa wyjątków.
Wyjątki systemowe i Aplikacyjne.
  • Systemowe - nie wymaga obsłużenia.
  • Aplikacyjne - muszą zostać obsłużone, wymaga tego kompilator


Klasy wewnętrzne:
Mają dostęp do wszystkich składowych klasy zewnętrznej w stosunku o niej.
Są wykorzystywane do obsługi zdarzeń.

Garbage collector :
Przegląda pamięć w poszukiwaniu el. do usunięcia i je usuwa. Pamięć staje się ponownie dostępna. Ogranicza zużywanie rzadkich zasobów sieciowych.
Dwie metody: finalize, dispose (uruchamiana ręcznie).
Rzadkie zasoby systemowe - np. połączenia sieciowe, otwarte pliki.

Kolekcje:
Typy kolekcji:
  • Kolejka (FIFO)
  • Lista (Rozmiar to max. dostępnej pamięci operacyjnej włącznie z plikiem wymiany)
  • Stos (LIFO)
  • Słownik (Hashtable) - Przechowuje pary "klucz-wartość" Pozwala na szybkie dostanie się do obiektu, oszczędzając dostępne zasoby. Klucz jedno znacznie identyfikuje obiekt.

Typy generyczne:
Pozwalają określić jakiego typu obiekty są składowane w kolekcjach.

Tworzenie grafu dla programu Graphviz przy użyciu biblioteki QuickGraph

Aby program nie interpretował danego łańcucha znaków wstawiamy symbol "@"

Tworzenie gry - jazda samochodem między przeszkodami.

1 komentarz: