Klasy abstrakcyjne i interfejsy

Slides:



Advertisements
Podobne prezentacje
Język C/C++ Funkcje.
Advertisements

Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 2 Wojciech Pieprzyca.
Klasy i obiekty.
Wzorce.
Zaawansowane metody programowania – Wykład V
Static, const, volatile.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Generics w .NET 2.0 Łukasz Rzeszot.
Obiektowe metody projektowania systemów Design Patterns STRATEGY.
Programowanie w środowisku sieciowym
Programowanie Obiektowe w Javie (c.d.)
Nguyen Hung Son Uniwersytet Warszawski
Programowanie obiektowe w Javie
OOP - programowanie zorientowane obiektowo w VB.NET
Serwery Aplikacji ASP .NET Web Objects Arkadiusz Popa.
DZIEDZICZENIE · klasy bazowe i klasy pochodne WyświetlAutora( ) Autor
Obiektowe metody projektowania systemów
Struktury.
C++ wykład 6 ( ) Polimorfizm.
Zasady zaliczenia Warunki uzyskania zaliczenia:
Typy pochodne 1 Często dogodnie jest wprowadzić nowy typ, który jest podobny do istniejącego, niemniej jednak różny. Niech T będzie pewnym typem. Możemy.
Mechanizmy dziedziczenia
Wstęp do programowania obiektowego
przygotował Michał Wdaniec
Test Doubles Adam Gabryś , v1.1,
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Podstawy programowania II
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Tworzenie aplikacji mobilnych
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
INTERFEJSY I KLASY WEWNĘTRZNE
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Programowanie obiektowe 2013/2014
Język C# .NET Maria DEMS.
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Kurs języka C++ – wykład 3 ( )
Programowanie w języku C++
Dobry kod OO Jeżeli zapytamy statystycznego programistę z czym kojarzy mu się dobry kod OO to najprawdopodobniej będzie mówił o wzorcach projektowych.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Diagram klas Kluczowymi elementami są: klasy (class)
K URS JĘZYKA C++ – WYKŁAD 6 ( ) Polimorfizm.
Obiektowe metody projektowania systemów Abstract Factory design pattern (aka. Kit)
Zakres Wzorce projektowe - kreacyjne -Factory Method -Abstract Factory.
Programowanie Zaawansowane
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
Inżynieria oprogramowania Wzorce konstrukcyjne WWW: Jacek Matulewski Instytut Fizyki, UMK.
Inżynieria oprogramowania OOP i zasady SOLID WWW: Jacek Matulewski Instytut Fizyki, UMK.
Dziedziczenie, polimorfizm, Interfejsy
Programowanie Obiektowe – Wykład 6
Kurs języka C++ – wykład 3 ( )
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
(według:
(c) Krzysztof Barteczko 2014
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
PGO Interfejsy Michail Mokkas.
Zdarzenia (eventy) Zdarzenia służą do powiadomienia użytkownika, gdy w używanej klasie dojdzie do pewnych wydarzeń zdefiniowanych przez twórcę klasy.
PGO Dziedziczenie Michail Mokkas.
Object vs. class (rozdzial 13 The NEURON book)
Tworzenie wątków w Javie
Zapis prezentacji:

Klasy abstrakcyjne i interfejsy

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

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 { ………………………

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