Dziedziczenie. » Dodawanie nowych elementów klasy (składowych funkcyjnych, danych składowych)» Modyfikacje odziedziczonych składowych funkcyjnych
|
|
- Grażyna Michałowska
- 5 lat temu
- Przeglądów:
Transkrypt
1 Dziedziczenie Dziedziczenie umożliwia definiowanie nowej klasy przez rozbudowanie już istniejącej. Klasa wprowadzana całkowicie dziedziczy elementy starej klasy.» Dodawanie nowych elementów klasy (składowych funkcyjnych, danych składowych)» Modyfikacje odziedziczonych składowych funkcyjnych
2 Dziedziczenie Systematyka (gr. systematikos stanowiący układ, system) jest to układ (czyli system) przedmiotów lub pojęć danej nauki, a zarazem także (pod-)dziedzina danej nauki zajmująca się klasyfikowaniem jej przedmiotów i pojęć (czyli inaczej taksonomia). Arystoteles był pierwszym powszechnie znanym systematykiem Systematycy kategoryzują część świata, tworzą hierarchię kategorii od ogólnych do szczegółowych.
3 Dziedziczenie uogólnione Pojazdy transportowe Pojazd naziemny Pojazd powietrzny Pojazd wodny Samochód Rower Sanki specjalizowane TIR Autobus Samochód dostawczy
4 Dziedziczenie - Względnie niewielka liczba cech oraz czynności, które mogą być przyporządkowane do ogólnej kategorii - W miarę przesuwania się w dół hierarchii ku bardziej specjalistycznym kategoriom, dołączamy specjalistyczne cechy oraz czynności (nie związane z bardziej ogólnymi kategoriami) - Czytanie w górę jest zawsze prawdziwe relacja JEST KAŻDY ROWER jest POJAZDEM NAZIEMNYM jest prawdziwe ale KAŻDY POJAZD TRANSPORTOWY jest SANKAMI nie.
5 Dziedziczenie Specyfikacja klasy bazowej w C#: class SportsCar : Car Specyfikacja klasy bazowej w Java: class SportsCar extends Car
6 Dziedziczenie - przesłanianie class Samochod public virtual void JedzDoPrzodu() //... Metod wirtualna class SamochodSportowy : Samochod public override void JedzDoPrzodu() //...
7 Dziedziczenie Aby przesłaniania działało prawidłowo: - należy dołączyć słowo virtual w metodzie klasy bazowej - należy dołączyć słowo override w metodzie przesłaniającej Metoda virtual nie może być jednocześnie private Metoda przesłaniająca musi mieć tę samą nazwę, liczbę, sekwencję i typy parametrów. Aby uniemożliwić wykorzystanie klasy jako klasy bazowej, można zadeklarować ją jako zamkniętą (sealed)
8 Dziedziczenie Słowo kluczowe protected (modyfikator dostępu) zapewnia taki sam poziom dostępu jak private, ale ponadto umożliwia dostęp do danej z klasy z klas z niej wyprowadzonych.
9 Polimorfizm Technika ściśle związana z dziedziczeniem zwykle uważana za najważniejszą zaletę technologii obiektowych Jeśli do obiektu zostanie wysłany komunikat, to obiekt musi mieć odpowiednią metodę, aby móc odpowiedzieć. W hierarchii dziedziczenia podklasy przejmują interfejsy po swoich nadklasach. Każda klasa jest osobnym bytem, może wymagać innego rodzaju reakcji na ten sam komunikat.
10 Polimorfizm Shape #area : double +getarea() : double Rectangle -length -width +getarea() : double -radius Circle +getarea() : double Różne zachowanie różne implementacje metod Technologie obiektowe
11 Kompozycja - Tworzenie obiektów przy pomocy innych obiektów. - Jest rodzajem silnej agregacji całość-część - Relacja kompozycji polega na tym, że: - instancja reprezentująca część należy w danym momencie tylko do jednej instancji złożonej - część musi zawsze należeć do jakiejś całości - instancja złożona jest odpowiedzialna za tworzenie i usuwanie swoich części - po usunięciu instancji złożonej, wszystkie jej części muszą zostać usunięte - Agregacja jest rodzajem kompozycji bez powyższych ograniczeń Zgodnie z wytycznymi twórców UML unikaj stosowania agregacji. Jeśli to możliwe używaj kompozycji Java/.NET jest tylko kompozycja
12 Dziedziczenie i kompozycja Tworzenie nowych obiektów na bazie innych obiektów. Dziedziczenie to relacja jest, a kompozycja to relacja ma
13 Przykład class Car public virtual void MoveForward() Console.WriteLine( Do przodu ); class RacingCar : Car public override void MoveForward() Console.WriteLine( Szybka jazda do przodu ); public void StartOnBoardCamera() Console.WriteLine("Kamera włączona"); class FamilyCar : Car public override void MoveForward() Console.WriteLine("Wolno i bezpiecznie do przodu"); Technologie obiektowe
14 Obiekt klasy potomnej Car mycar; mycar = new RacingCar(); RacingCar myracingcar; MyRacingCar = new Car(); Car MoveForward() mycar.moveforward(); mycar.startonboardcamera(); //Nieprawidłowe RacingCar MoveForward() StartOnBoardCamera()
15 Wiązanie dynamiczne Car mycar; mycar = new RacingCar(); mycar.moveforward(); Czy zostanie wywołana metoda z klasy Car czy z klasy mycar? Środowisko musi podjąć ważną decyzję którą metode MoveForward uruchomić z klasy Car czy z klasy RacingCar?
16 Wiązanie dynamiczne Car mycar; Kompilator napotykając wiersz: mycar.moveforward(); Nie ma możliwości dowiedzieć się czy mycar będzie zawierała obiekt Car, RacingCar czy FamilyCar. Wiązanie dynamiczne, późne wiązanie faktyczna implementacja, którą ta nazwa reprezentuje jest określana dynamiczne podczas wykonywania programu.
17 Polimorfizm Polimorfizm oznacza zdolność do przyjmowania wielu postaci (wielopostaciowość) Stosowanie jednej zmiennej jako referencji do obiektów różnych klas i umożliwienie dzięki mechanizmowi wiązania dynamicznego, automatycznego wywołania metody zaimplementowanej w danym obiekcie. Wiązanie dynamiczne to po prostu fizyczna realizacja abstrakcyjnego pojęcia polimoforfizmu.
18 Metoda abstrakcyjna Metoda abstrakcyjna zawiera wyłącznie sam nagłówek bez implementacji Wymaga zapewnienia implementacji w klasach dziedziczących Kiedy klasa zawiera przynajmniej jedną metodę abstrakcyjną, to sama musi być również abstrakcyjna. Nie można utworzyć instancji klasy abstrakcyjnej. Słowo kluczowe abstract Metoda abstrakcyjna staje się niejawnie metodą wirtualną.
19 Klasy abstrakcyjne Nie możemy utworzyć instancji klasy abstrakcyjnej, jednak możemy zadeklarować zmienną jej typu referencyjnego. Nieabstrakcyjne klasy, których instancje można tworzyć bez przeszkód, nazywa się klasami konkretnymi. Akcesory get oraz set właściwości mogą być również deklarowane jako abstract
20 Kształty abstract class Shape public abstract void DrawYourself(); class Triangle : Shape public override void DrawYourself() Console.WriteLine(" * "); Console.WriteLine(" * * "); Console.WriteLine(" * * "); Console.WriteLine(" * * "); Console.WriteLine(" ********* "); class Rectangle : Shape public override void DrawYourself() Console.WriteLine(" ********* "); Console.WriteLine(" * * "); Console.WriteLine(" * * "); Console.WriteLine(" * * "); Console.WriteLine(" ********* "); class Circle : Shape public override void DrawYourself() Console.WriteLine(" *** "); Console.WriteLine(" * * "); Console.WriteLine(" * * "); Console.WriteLine(" * * "); Console.WriteLine(" *** ");
21 Kształty cd. class Program static void Main(string[] args) Shape myshape; Random r = new Random(); List<Shape> shapes=new List<Shape>(); Technologie obiektowe double los; for (int i = 0; i < 3; i++) los=r.next(3); if (los == 0) shapes.add(new Triangle()); else if (los == 1) shapes.add(new Rectangle()); else shapes.add(new Circle()); foreach (Shape element in shapes) element.drawyourself(); Console.ReadKey(); * * * * * * * ********* *** * * * * * * *** ********* * * * * * * ********* * * * * * * * ********* * * * * * * * ********* ********* * * * * * * *********
22 Tożsamość klasy Shape myshape=new Rectangle(); Obiekt klasy Rectangle() traci część swojej tożsamości. Na poziomie kodu źródłowego MyShape nie jest w stanie nam wskazać referencji do odpowiedniej klasy. class Rectangle : Shape double width=20,height=20; public override void DrawYourself() Console.WriteLine(" ********* "); Console.WriteLine(" * * "); Console.WriteLine(" * * "); Console.WriteLine(" * * "); Console.WriteLine(" ********* "); Console.WriteLine(myShape.Height+'' ''+myshape.width); Error 2 'ConsoleApplication8.Shape' does not contain a definition for 'height' and no extension method 'height' accepting a first argument of type 'ConsoleApplication8.Shape' could be found Technologie obiektowe
23 Operator is Operator is może sprawdzić, czy zmienna odnosi się do obiektu określonego typu. Wynikiem sprawdzenia jest true/false bool Console.WriteLine(myShape is Rectangle); Rectangle rect; if (myshape is Rectangle) rect = (Rectangle)myShape; Console.WriteLine(rect.width + " " + rect.height);
24 Rzutowanie Car mycar=new RacingCar(); Wszystkie elementy klasy, które można wywołać z Car można też wywołać z RacingCar. Ponieważ Car znajduje się wyżej w hierarchi dziedziczenia, takie przypisania wymaga rzutowania w górę Rectangle rect=(rectangle)myshape; Jeśli jesteśmy pewni, że myshape odnosi się do Rectangle!! Rzutowanie w dół wymaga operatora (<T>)
25 Rzutowanie Uwaga: myshape = new Circle(); Rectangle rect; rect = (Rectangle)myShape; Unable to cast object of type 'ConsoleApplication8.Circle' to type 'ConsoleApplication8.Rectangle'.
26 Operator as Operator as umożliwia kontrolowany proces rzutowania w dół. myshape = new Rectangle(); Rectangle rect= myshape as Rectangle; if(rect!=null) Console.WriteLine(rect.width); OK myshape = new Circle(); Rectangle rect= myshape as Rectangle; if(rect!=null) Console.WriteLine(rect.width); NULL
27 System.Object Biblioteka klas.net zawiera klasę o nazwie System.Object, z które ostatecznie wyprowadzane są wszystkie klasy Jeżeli tworzymy klasę bez określenie jej klasy bazowej, C# automatycznie ustawia klasę bazową jako System.Object. Hierarchia klas zawsze ma klasę stanowiącą najwyższe ogniwo w C# jest to zawsze System.Object
28 System.Object Każdy obiekt jest obiektem klasy System.Object foreach (Shape element in shapes) Console.WriteLine(element is System.Object); element.drawyourself(); Najczęściej wykorzystywaną metodą z klasy System.Object jest ToString() True, true, true foreach (Shape element in shapes) Console.WriteLine(element is System.Object); Console.WriteLine(element.GetType()); //element.drawyourself(); True ConsoleApplication8.Triangle True ConsoleApplication8.Triangle True ConsoleApplication8.Circle
29 Kształty cd. Klasa Shape, zawiera metodę DrawYourself zadeklarowaną jako abstract, która obliguje każdą klasę pochodzącą od Shape do zaimplementowania tej metody (z tą samą sygnaturą i typem zwracanym). Każda klasa dziedzicząca musi wypełnić kontrakt: Ja klasa pochodząca od Shape, przysięgam niniejszym implementować każdą metodę abstrakcyjną zawartą w Shape albo sama będę abstrakcyjna Klasa abstrakcyjna Shape nie oferuje swoim potomkom nic poza powyższym zobowiązaniem.
30 Klasa abstrakcyjna interfejs Konstrukcja języka programowania zwana interfejsem klasa abstrakcyjna, jedynie z funkcjami abstrakcyjnymi. Klasa może implementować interfejs. Wówczas przyrzeka implementować składowe funkcyjne interfejsu. Problem dynamicznego wiązania i polimorfizmu bez zmian. Interfejs oferuje to samo.
31 Klasa abstrakcyjna a interfejs Syntaktycznie i semantycznie klasy abstrakcyjne i interfejsy są spokrewnione. Interfejsy mogą zawierać jedynie funkcje abstrakcyjne, a klasy abstrakcyjne jeszcze składowe danych i normalne funkcje. Implementacja wielu interfejsów nie daje takich samych potencjalnych problemów, jak wielokrotne dziedziczenie, ponieważ zderzenia składowych danych i implementacji nie istnieją. Klasa może mieć co najwyżej jedną klasę bazową i implementować nieograniczoną liczbę interfejsów.
32 Interfejs interface IDrawable void DrawYourself(); class Triangle : IDrawable public void DrawYourself() Console.WriteLine(" TROJKAT "); class Rectangle : IDrawable public double width = 20, height = 20; public void DrawYourself() Console.WriteLine(" PROSTOKAT "); class Circle : IDrawable public void DrawYourself() Console.WriteLine(" KOLKO ");
33 Interfejs Interfejsy stosuje się, kiedy dla kilku klas potrzebne są wspólne nagłówki funkcji, których nie ma w żadnej wspólnej klasie przodka. Umożliwia to zastosowanie polimorfizmu w zbiorze klas, niezależnie od ich położenia i hierarchii.
34 Klasy abstrakcyjne - nie można stworzyć ich instancji - specjalny typ klas, gdzie można mieć funkcje bez implementacji - klasa może dziedziczyć tylko z 1 klasy (C#, Java) dotyczy to równie klas abstrakcyjnych - zapewnia domyśle zachowania dla części elementów, zmuszając programistów do zaimplementowania pozostałych - cel: zapewnienie że coś zostanie zaimplementowane - klasa może dziedziczyć po klasie abstrakcyjnej nie implementując wszyskich metod też klasa abstrakcyjna - tylko z klasy z zaimplementowanymi wszystkimi metodami może powstać obiekt Związek : JEST CZYMŚ np. student JEST Osobą, Pracownik JEST osobą
35 Interfejsy - nie można stworzyć obiektów - specjalny typ klas abstrakcyjnych, gdzie WSZYSTKIE elementy nie mają implementacji - pozwala na polimorfizm. - dostarcza kontrakt, aby zapewnić zachowanie - klasa która implementuje interfejs MUSI zawierać pełną implementację, w przeciwnym razie kompilator zwróci błą - relacja MOŻE ZROBIĆ Trójkąt MOŻE rysować (Triangle implements Idrawable).
36 Wstęp do modelowania obiektowego - Jeśli mamy szczęście już na początku prac nad projektem dysponujemy pełną wiedzą nt. Kształtu przyszłego systemu. - Reakcja łańcuchowa - Wprowadzenie nawet najmniejszej zmiany, wymagają bardzo dużych nakładów pracy
37 Symptomy złego projektu Sztywność - brak elastyczności - uniemożliwia wprowadzenie do systemu nawet najdrobniejszych zmian - projekt można uznać za sztywny, jeśli pojedyncza zmiana powoduje całą serię następujących po sobie zmian w modułach zależnych - Zadanie okazało się bardziej skomplikowane niż sądzilismy
38 Symptomy złego projektu Wrażliwość - tendencja do ulegania uszkodzeniom lub usterkom w wielu różnych miejscach wskutek wprowadzenia nawet najdrobniejszych zmian - często pojawiają się w obszarach na pozór nie związanych ze zmienianym fragmentem Programiści wiedzą że takie moduły wymagają przeprojektowania, ale nikt nie chce podjąć się tego trudnego zadania.
39 Symptomy złego projektu Nieelastyczność - System jest nieelastyczny, jeśli zawiera elementy, które choć teoretycznie mogłyby zostać wykorzystane w innych systemach nie mogą być oderwane od oryginalnego systemu Niedostosowanie do rzeczywistości - niedostosowanie oprogramowania - niedostosowanie środowiska (niefektywne)
40 Symptomy złego projektu Nadmierna złożoność - system zawiera elementy, które w danej chwili są zbędne - programiści, próbują przedwcześnie przewidywać potencjalne zmiany wymagań Niepotrzebne powtórzenia - copy & paste Nieprzejrzystość - kod jest niezrozumiały, trudny do odczytania - Kod który ewoluuje, zwykle staje się nieprzejrzysty -
Programowanie obiektowe i zdarzeniowe
Marek Tabędzki Programowanie obiektowe i zdarzeniowe 1/23 Programowanie obiektowe i zdarzeniowe wykład 6 polimorfizm Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie
Bardziej szczegółowoPolimorfizm. dr Jarosław Skaruz
Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody
Bardziej szczegółowoKlasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoWSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy
WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy Pojęcie klasy Program napisany w języku Java składa się ze zbioru klas. Każda klasa zawiera
Bardziej szczegółowoPolimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowoDziedziczenie. dr Jarosław Skaruz
Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,
Bardziej szczegółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowoKurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
Bardziej szczegółowoWykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoObiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Bardziej szczegółowoPrzykład -
Polimorfizm Przykład - http://rpodhajny.wordpress.com klasa bazowa A, oraz klasy pochodne B1, B2,, Bn (dziedziczące po klasie bazowej). niektóre klasy pochodne chcą mieć możliwość skorzystania z metody
Bardziej szczegółowoJęzyki i techniki programowania Ćwiczenia 3 Dziedziczenie
Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Klasa abstrakcyjna Autor: Marcin Orchel Klasa abstrakcyjna to taka, że nie możemy tworzyć obiektów tej klasy, możemy jednak dziedziczyć po tej
Bardziej szczegółowoWykład 5 Okna MDI i SDI, dziedziczenie
Wykład 5 Okna MDI i SDI, dziedziczenie Autor: Zofia Kruczkiewicz Zagadnienia 1. Aplikacja wielookienkowa. Zakładanie projektu typu CLR Windows Forms 1.1. Aplikacja typu MDI 1.2. Aplikacja typu SDI 2. Dziedziczenie
Bardziej szczegółowoKlasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana
Bardziej szczegółowoProgramowanie obiektowe Wykład 6. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Wirtualne destruktory class A int* a; A(int _a) a = new int(_a);} virtual ~A() delete a;} class B: public A double* b;
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Bardziej szczegółowoKurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Bardziej szczegółowoDiagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Bardziej szczegółowoPodstawy programowania obiektowego
1/23 Podstawy programowania obiektowego wykład 8 polimorfizm, wyjątki, kolekcje generyczne Na poprzednim wykładzie: dziedziczenie jest sposobem na utworzenie nowej klasy na podstawie klasy już istniejącej,
Bardziej szczegółowoDziedziczenie. Tomasz Borzyszkowski
Dziedziczenie Tomasz Borzyszkowski Podstawy Zobacz: Dziedzictwo1.java Dziedzictwo2.java Dziedziczenie jest jedną z podstawowych cech OOP ponieważ umożliwia łatwe implementowanie klasyfikacji hierarchicznych.
Bardziej szczegółowoTEMAT : KLASY DZIEDZICZENIE
TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą
Bardziej szczegółowoKurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Bardziej szczegółowoDiagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.
Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze
Bardziej szczegółowo.NET Klasy, obiekty. ciąg dalszy
.NET Klasy, obiekty ciąg dalszy Przeciążanie operatorów 1 W języku C# istnieje możliwość zdefiniowania funkcjonalności dużej części operatorów dla typów stworzonych przez użytkownika. Dzięki takiemu zabiegowi,
Bardziej szczegółowoInformatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki
Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas
Bardziej szczegółowoMarcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje
Bardziej szczegółowoC++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.
C++ - DZIEDZICZENIE Do najważniejszych cech języka C++ należy możliwość wielokrotnego wykorzystywania kodu Prymitywnym, ale skutecznym sposobem jest kompozycja: deklarowanie obiektów wewnątrz innych klas,
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 3 - polimorfizm. dr inż. Robert Nowak - p. 1/14 Powtórzenie Powtórzenie: klasy autonomiczne: konstruktor, konstruktor kopiujacy, operator przypisania, destruktor
Bardziej szczegółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
Bardziej szczegółowoEnkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoWykład 6: Dziedziczenie
Wykład 6: Dziedziczenie Dziedziczenie Jeden z filarów obiektowości. Budowa jednej klasy na bazie drugiej, przez dodawanie/przesłanianie jej składowych: nad-klasa klasa bazowa pod-klasa klasa pochodna od
Bardziej szczegółowoKonstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.
Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class
Bardziej szczegółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowoProjektowanie obiektowe. Roman Simiński Polimorfizm
Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Polimorfizm Koncepcja polimorfizmu Słowo polimorfizm pochodzi od dwóch greckich słów: poly czyli wiele, morphos czyli
Bardziej szczegółowoPHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Bardziej szczegółowoProgramowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
Bardziej szczegółowoMateriały do zajęć VII
Spis treści I. Klasy Materiały do zajęć VII II. III. Konstruktor Właściwości i indeksatory Klasy Programowanie obiektowe wiadomości wstępne Paradygmat programowania obiektowego Abstrakcja Hermetyzacja
Bardziej szczegółowoRysunkowy tutorial Możesz swobodnie dystrybuować ten plik jeśli pozostawisz go w nietkniętym stanie. Możesz także cytować jego fragmenty umieszczając w tekście odnośnik http://mbartyzel.blogspot.com Jak
Bardziej szczegółowoWykład 9: Polimorfizm i klasy wirtualne
Programowanie obiektowe Wykład 9: i klasy wirtualne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Programowanie obiektowe i metody wirtualne 2 W programowaniu obiektowym polimorfizm
Bardziej szczegółowoProgramowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Bardziej szczegółowoMetodyki zwinne wytwarzania oprogramowania
Metodyki zwinne wytwarzania oprogramowania Wykład 7 Marcin Młotkowski 23 listopada 2016 Plan wykładu 1 2 3 Kilka negatywnych przykładów Marcin Młotkowski Metodyki zwinne wytwarzania oprogramowania 2 /
Bardziej szczegółowoProgramowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Bardziej szczegółowoWprowadzenie do programowanie obiektowego w języku C++
Wprowadzenie do programowanie obiektowego w języku C++ Część czwarta Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Bardziej szczegółowoJava. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak
Java język programowania obiektowego Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 Język Java Język Java powstał w roku 1995 w firmie SUN Microsystems Java jest językiem: wysokiego
Bardziej szczegółowoDefiniowanie własnych klas
Programowanie obiektowe Definiowanie własnych klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Definiowanie własnych klas Autor:
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie
Bardziej szczegółowoJava - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Bardziej szczegółowoZaawansowane programowanie w języku C++ Programowanie obiektowe
Zaawansowane programowanie w języku C++ Programowanie obiektowe Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoKlasy cd. Struktury Interfejsy Wyjątki
Klasy cd. Struktury Interfejsy Wyjątki Struktury Struktura pozwala na zdefiniowanie typu danych, który nie charakteryzuje się zbyt złożoną funkcjonalnością (np. punkt, kolor, etc). Do definiowania struktury
Bardziej szczegółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoWykład 1: Wprowadzenie
Wykład 1: Wprowadzenie 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Bardziej szczegółowoInformatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy
Bardziej szczegółowoKurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
Bardziej szczegółowoPakiety i interfejsy. Tomasz Borzyszkowski
Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji
Bardziej szczegółowoPodstawy programowania. Programowanie obiektowe
Podstawy programowania Programowanie obiektowe Metodyki programowania Istnieją trzy główne metodyki programowania: Programowanie strukturalne Programowanie proceduralne Programowanie obiektowe Zastosowanie
Bardziej szczegółowoCzym jest polimorfizm?
Metody wirtualne oraz metody abstrakcyjne są ściśle związane z mechanizmem polimorfizmu. Polimorfizm jest jednym z filarów paradygmatu programowania obiektowego. Jak wiadomo język C# jest w całości językiem
Bardziej szczegółowoJęzyk JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 4, część 1 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne
Bardziej szczegółowoKlasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np
Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami
Bardziej szczegółowoPodstawy Języka Java
Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących
Bardziej szczegółowoSkładnia C++ Programowanie Obiektowe Mateusz Cicheński
Składnia C++ Programowanie Obiektowe Mateusz Cicheński Klasy i modyfikatory dostępu Przesłanianie metod Polimorfizm Wskaźniki Metody wirtualne Metody abstrakcyjne i interfejsy Przeciążanie operatorów Słowo
Bardziej szczegółowoKLASY, INTERFEJSY, ITP
KLASY, INTERFEJSY, ITP ZAGADNIENIA: Klasy, modyfkatory dostępu, pakiety. Zmienne i metody statyczne. Klasy abstrakcyjne, dziedziczenie. Interfejsy. Komentarze i javadoc, http://th-www.if.uj.edu.pl/zfs/ciesla/
Bardziej szczegółowoProgramowanie obiektowe. Obiekt Klasa Składnia klasy: Interfejsy Składnia interfejsu: Metody Składnia instrukcji Sub: Składnia instrukcji function:
Programowanie obiektowe. Obiekt Obiekt to dowolny element, który możemy wydzielić i którym możemy manipulować. W terminologii informatycznej obiekt to samodzielna jednostka zawierająca zarówno dane, jak
Bardziej szczegółowoProgramowanie w Internecie. Java
Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java
Bardziej szczegółowoPodstawa: Bruce Eckel, Thinking in Java, Second Ed., Prentice Hall, 1998 The JavaLanguage Environment, A white Paper, Sun, Oct.
Spis treści Temat: Dziedziczenie Celem wykładu jest pokazanie podstawowych mechanizmów stosowanych w programowaniu zorientowanym obiektowo. Głównie chodzi o dziedziczenie, rozszerzanie klas, przesłanianie
Bardziej szczegółowoProgramowanie obiektowe w VB cz 2
Programowanie obiektowe w VB cz 2 Interfejsy Interfejsy są listą metod, właściwości, zdarzeń i indeksowników. Jeśli jakaś klasa implementuje jakiś interfejs, znaczy to, że użytkownik tej klasy może skorzystać
Bardziej szczegółowoAplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
Bardziej szczegółowoInterfejsy i klasy wewnętrzne
Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw
Bardziej szczegółowoPARADYGMATY PROGRAMOWANIA Wykład 4
PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 10 - klasy abstrakcyjne i interfejsy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 17 maja 2017 1 / 13 mgr inż. Krzysztof Szwarc Programowanie obiektowe
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Bardziej szczegółowoAplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java
Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment
Bardziej szczegółowo1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!
Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed
Bardziej szczegółowoProgramowanie w środowiskach graficznych. Wykład 3 Język C#
Programowanie w środowiskach graficznych Wykład 3 Język C# 1 Zagadnienia 1. Wprowadzenie 2. Przestrzenie nazw 3. Typy, parametry, konwersje 4. Klasy 5. Instrukcje sterujące 6. Właściwości 7. Interfejsy,
Bardziej szczegółowoTEMAT : KLASY POLIMORFIZM
TEMAT : KLASY POLIMORFIZM 1. Wprowadzenie do polimorfizmu i funkcji wirtualnych w języku C++ Język C++ zakłada, że w pewnych przypadkach uzasadnione jest tworzenie klas, których reprezentanci w programie
Bardziej szczegółowoProgramowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków
Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków mgr inż. Maciej Lasota Version 1.0, 13-05-2017 Spis treści Wyjątki....................................................................................
Bardziej szczegółowoJava: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa
Bardziej szczegółowoUML a kod. C++, Java i C#
UML a kod C++, Java i C# UML a kod w C++ i Javie Projektowanie oprogramowania! Dokumentowanie oprogramowania Diagramy przypadków użycia Klasy użytkowników i wykorzystywane funkcje Mogą sugerować podział
Bardziej szczegółowoTechnologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Bardziej szczegółowoProgramowanie w Javie wykład 8 Interfejsy
1 Programowanie w Javie wykład 8 Interfejsy Treści prezentowane w wykładzie zostały oparte o: Barteczko, JAVA Programowanie praktyczne od podstaw, PWN, 2014 Barteczko, JAVA Uniwersalne techniki programowania,
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 3 i 4 - przypomnienie wiadomości o OOP na przykładzie Javy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 8 marca 2017 1 / 20 mgr inż. Krzysztof Szwarc
Bardziej szczegółowoTechnologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Bardziej szczegółowoWykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład V - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Programowanie obiektowe Dziedziczenie (inheritance) - mechanizm
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne
Bardziej szczegółowoDziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.
Dziedziczenie Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasy Student oraz Pracownik: class Student class Pracownik
Bardziej szczegółowoJava: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
Bardziej szczegółowoProjektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne
Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec
Bardziej szczegółowo