Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Klasy abstrakcyjne i interfejsy
2
Metoda abstrakcyjna – metoda nie zawierająca kodu:
abstract public void ZamazSlad(); // nie ma nawiasów {} Jeżeli klasa zawiera chociaż jedną metodę abstrakcyjną, to też jest abstrakcyjna: Abstract public class Figura { …………. abstract public void ZamazSlad(); } W oparciu o klasę abstrakcyjną nie można utworzyć obiektu: figura PR1 = new prostokat(); // poprawnie – klasa prostokat nie // jest abstrakcyjna figura PR2 = new figura(); // źle – klasa figura jest abstrakcyjna Po co te klasy abstrakcyjne? Umożliwiają zgromadzenie w jednym miejscu nagłówków wszystkich (wybranych) metod w klasach dziedziczących Wymuszają definiowanie w każdej z klas dziedziczących metody z kodem odpowiadającej metodzie abstrakcyjnej
3
Klasa zamknięta – przeciwieństwo klasy abstrakcyjnej. Klasy
abstrakcyjne służą przede wszystkim jako klasy bazowe, to po klasach zamkniętych nie można dziedziczyć Sealed public class figura { …………. } public class prostokat : figura // wystąpi błąd kompilacji { ………………………
4
Interfejs – to w zasadzie klasa abstrakcyjna, ale nie może on zawierać metod zawierających kod (mogą być tylko deklaracje metod) Interface Ifigura { …………. } public class prostokat : Ifigura // klasa dziedzicząca po interfejsie { ……………………… Uwaga ! Klasa może w C# dziedziczyć tylko po jednej klasie, natomiast po interfejsach kilku public class prostokat : figura, Ifigura // klasa dziedzicząca po klasie i interfejsie
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.