1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!
|
|
- Maja Gajewska
- 1 lat temu
- Przeglądów:
Transkrypt
1 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 Klasa typu sealed to klasa z której nie mona dziedziczy. Wiele klas w.net Framework to klasy, z których nie mona dziedziczy, np. klasa String. Aby zaznaczy, e klasa jest typu sealed, naley w jej nagłówku (na pocztku) wpisa słowo sealed. sealed class Standard class NowyStandard:Standard // błd!!!
2 2. Deklaracja i implementacja interfejsu Interfejs jest spisem treci klasy. Zwiera nagłówki metod klasy bez ich kodów. Interfejsy to typy pozwalajce na definiowanie wielu klas spełniajcych podobne funkcje. Wykorzystanie interfejsu jest realizowane przez jego implementacj w klasie. Jeeli klasa implementuje interfejs, to musi zawiera kody wszystkich metod z tego interfejsu. Jest zalecane, aby nazwy interfejsu danej klasy były konstruowane z litery I oraz nazwy klasy, która ten interfejs implementuje, np. interfejs IToken implementuje klasa Token.
3 Przykład 2 Deklaracja interfejsu interface ISamochod public void Jedz( ); // błd!!! void Stop( ); void Skrecaj( )... // błd!!! Metody z interfejsu oraz ich odpowiedniki w implementacji musz by identyczne, tj. ten sam typ zwracanej wartoci, nazwa, lista parametrów. Wszystkie metody, które s umieszczone w interfejsie danej klasy s domylnie publiczne.
4 Przykład 3 Klasa implementujca interfejs interface ISamochod void Jedz(); void Stop(); void Skrecaj(); class Samochod: ISamochod int predkosc; public Samochod(int v) if (v > 0) predkosc = v;else predkosc = 10; public void Jedz() Console.WriteLine("Jad, jad... z predkoscia 0",predkosc); public void Stop() Console.WriteLine("Stoj, nie jad!!!"); predkosc = 0; public void Skrecaj() Console.WriteLine("Skrcam, ju nie jad prosto."); class Program static void Main() Samochod S = new Samochod(40); S.Jedz(); S.Skrecaj(); S.Stop();
5 W jzyku C# nie ma wielodziedziczenia, ale jedna klasa moe implementowa wiele interfejsów. Jeden interfejs moe dziedziczy z wielu innych interfejsów. Przykład 4 Klasa implementujca wiele interfejsów interface IToken... interface IVisitable... interface IVisitableToken: IVisitable, IToken... class Token: IVisitableToken... Moe si zdarzy, e dwa interfejsy zawieraj metod o tej samej sygnaturze (tj. o tej samej nazwie, typie zwracanej wartoci, typach i iloci zwracanych parametrów). Jeeli w klasie implementujcej obydwa te interfejsy zdefiniujemy t metod raz, to bdziemy mogli wykorzysta t jedn wersj metody. Moemy równie uy jawnej definicji metody w klasie implementujcej interfejs poprzedzajc jej nazw nazw interfejsu.
6 Dziki jawnej definicji moemy zdefiniowa dwie wersje metody ujtej w dwóch rónych interfejsach. Interfejs jest typem, wic mona tworzy zmienne tego typu, ale nie jest klas, wic nie mona tworzy obiektów typu interfejsu. Przykład 5 Jawna implementacja metod interfejsu interface ISamochod void Jedz(); void Stop(); void GraMuzyka(); interface IRower void Jedz(); void Stop(); class Pojazd: ISamochod, IRower int predkosc; public Pojazd(int v) if (v > 0) predkosc = v; else predkosc = 10; void ISamochod.Jedz()// przy implementacji // jawnej nie wpisujemy // modyfikatora public Console.WriteLine("Jad, jad samochodem... z predkoscia 0",predkosc); void IRower.Jedz() Console.WriteLine("Jad, jad rowerem... z predkoscia 0", predkosc); public void Stop() Console.WriteLine("Stoj, nie jad!!!");
7 predkosc = 0; public void GraMuzyka() Console.WriteLine("Gra muzyka..."); class Program static void Main() Pojazd P = new Pojazd(40); ISamochod S = P;// definicja zmiennej // interfejsu ISamochod. // Obiekt P implementuje // interfejs ISamochod S.Jedz(); S.GraMuzyka(); S.Stop(); IRower R = P; R.Jedz(); R.GraMuzyka();// błd!!! R.Stop();
8 3. Klasy abstrakcyjne Klasa abstrakcyjna, to taka niedokoczona klasa, która moe by podstaw do budowy bardziej szczegółowych klas. Mona deklarowa metody abstrakcyjne w klasach abstrakcyjnych. Metody abstrakcyjne to metody bez kodu. Klasy, które nie s abstrakcyjne nie mog zawiera metod abstrakcyjnych. Klasy abstrakcyjne, w odrónieniu od interfejsów, mog zawiera dane i metody.
9 Przykład 6 Porównanie klas abstrakcyjnych i interfejsów interface IToken string Name1(); abstract class Token int x; public virtual string Name2()... class CommentToken : Token, IToken public string Name1()... public override string Name2()...
10 Metody abstrakcyjne s wirtualne. Metody abstrakcyjne mog by przedefiniowywane w nastpnych klasach potomnych. Metody abstrakcyjne mog przedefiniowywa metody wirtualne klas bazowych. Przykład 7 Implementacja metod abstrakcyjnych abstract class Token public virtual abstract string Name()...// błd!!! class CommentToken : Token public override string Name()...
11 class Token public virtual string Name()... abstract class Force : Token public abstract override string Name(); 4. Typ Object i operator is oraz as
12 Przykład 8 Operator is Hierarchia: Bazowa Potomna Kolejna Bazowa B=new Bazowa(); Potomna P=B; // błd kompilacji!!! Kolejna K=P; // błd kompilacji!!! Potomna P=(Potomna)B; // błd wykonania!!! Kolejna K=(Kolejna)P; // błd wykonania!!! Potomna P1=new Potomna(); Bazowa B1=P1; // konwersja niejawna if (B1 is Kolejna) Console.WriteLine("B1-Kolejna"); if (B1 is Potomna) Console.WriteLine("B1-Potomna"); if (B1 is Bazowa) Console.WriteLine("B1 -Bazowa");
13 Operator as jest uywany jako zabezpieczenie przed błdnym podstawieniem pod dan referencj obiektu spoza hierarchii klas albo obiektu klasy bazowej pod referencj klasy potomnej. Jeeli podstawienia obiektu pod referencj jest moliwe to zostaje zrealizowane poprawnie, a gdy konwersja nie jest moliwa, to referencja przyjmuje warto null. Przykład 9 Operator as Bazowa B = new Bazowa(); Potomna P = B as Potomna; Kolejna K = P as Kolejna; if (P == null) Console.WriteLine("P nie jest obiektem klasy Potomna"); if (K == null) Console.WriteLine("K nie jest obiektem klasy Kolejna"); Potomna P1 = new Potomna(); B = P1 as Potomna; if (B!= null) Console.WriteLine("B jest obiektem klasy Potomna");
14 5. Czas ycia obiektu Niszczenie obiektu naley wykona w dwóch krokach: I krok: Deinicjalizacji obiektu operacje na obiekcie, które s niezbdne w swoim wykonaniu zanim obiekt zniknie z pamici. Deinicjalizacja zajmuje sie specjalna funkcja destruktor. II krok: Dealokacja obiektu pami zajmowana przez obiekt wraca do zasobów. Dealokacja w jzyku C# odbywa si w sposób automatyczny i realizowana jest przez Garbage Collection (tzw. odmiecacz pamici) Tworzenie obiektu jest deterministyczne, ale niszczenie ju takie nie jest. Programista nie moe (a raczej nie musi!!!) kontrolowa, kiedy dokładnie obiekt zostanie zniszczony, bo robi to za niego Garbage Collection.
15 Mona wywoła jawnie Garbage Collection, ale nie jest to zalecane. Kiedy Garbage Collection niszczy obiekt, sprawdza, czy klasa niszczonego obiektu ma destruktor. Jeeli tak, to destruktor jest automatycznie wywoływany przed dealokacj pamici obiektu.
16 Jeeli w klasie znajduj sie zasoby pamici (dane typu referencyjnego, wymagajce przydziału pamici tablice, kolekcje, obiekty innych klas), to nie zwalniamy ich w destruktorze, poniewa zajmuje sie tym Garbage Collection. Jeeli w klasie znajduje sie destruktor, to na pewno zostanie on wywołany zanim Garbage Collection zdealokuje obiekt. Garbage Collection gwarantuje równie, e jeeli obiekt zawiera referencje do zasobów pamici jeszcze nie zwolnionych, to najpierw zdealokuje ten wewntrzny zasób. Przykład 10 Destruktor klasy i Garbage Collection class Tablica int[] Tab; int ilosc; int max; public Tablica(int m) if (m > 0)
17 max = m; Tab = new int[max]; ilosc = 0; else max = 0; ilosc = 0; Tab = null; ; public void Wczytaj(int ile) if (ilosc <= ilosc + ile) for (int i = 0; i < ilosc + ile; i++) Tab[i] = int.parse(console.readline()); ilosc += ile; ~Tablica() for (int i = 0; i < ilosc; i++) Console.Write("0 ", Tab[i]); class Program static void Main() Tablica T = new Tablica(5); Tablica G; T.Wczytaj(3); T = null; // Garbage Collection moe // ju zwolni pamie dla obiektu T for (int i = 0; i < 1000; i++) G = new Tablica(100); // w trakcie wykonania ptli kurcz si zasoby i // Garbage Collection zwolni pamie obiektu T, // wczeniej jednak wywoła si destruktor klasy // Tablica i zajdzie zwolnienie pamici dla tablicy // Tab w obiekcie T Skoro destruktory nie musz zwalnia zasobów wewntrznych obiektu, to przydaj si duo rzadziej ni w jzyku C++.
18 Klasa powinna mie destruktor tylko wtedy, gdy chcemy zdenicjalizowa ( wyczyci ) obiekt.
Sposoby przekazywania parametrów w metodach.
Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych
Kurs 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
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
Klasy 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
PARADYGMATY 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
Interfejsy. 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,
Programowanie 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.
Programowanie 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;
Kurs 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
Klasy 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
PHP 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
Programowanie obiektowe w języku
Programowanie obiektowe w języku C++ Stanisław Gepner sgepner@meil.pw.edu.pl Dziedziczenie Wstęp Zacznijmy od przykładu Przykład rolniczy Każde zwierzątko wydaje dźwięk Każde się tak samo porusza Musimy
Szablony klas, zastosowanie szablonów w programach
Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do
Co to jest klasa? Z programistycznego punktu widzenia klasa stanowi typ danych, który odwzorowuje wspólne cechy jakiegoś obiektu.
.NET Klasy, obiekty Klasa i obiekt Każdy obiektowy język programowania daje programiście możliwość tworzenia nowych typów danych. Nowy typ danych definiuje się poprzez zdefiniowanie klasy. Co to jest klasa?
Polimorfizm, 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,
Programowanie 2. Język C++. Wykład 9.
9.1 Ukrywanie metod, metody nadpisane... 1 9.2 Metody wirtualne, wirtualny destruktor... 2 9.3 Metody czysto wirtualne... 6 9.4 Klasy abstrakcyjne... 7 9.5 Wielodziedziczenie... 9 9.1 Ukrywanie metod,
.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,
Programowanie obiektowe w C++ Wykªad 4
Programowanie obiektowe w C++ Wykªad 4 dr Lidia St pie«akademia im. Jana Dªugosza w Cz stochowie L. St pie«(ajd) Programowanie obiektowe w C++ 1 / 26 Dziedziczenie - podstawy Denicja klasy dziedzicz cej
Imi i nazwisko... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy
Imi i nazwisko....................................................... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy 21.01.2017 Instrukcja:
UML 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
Dziedziczenie. 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.
Ję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
Interfejsy 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
Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Programowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera
Kurs 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
Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura
Programowanie komputerów Programowanie obiektowe. Typy zmiennych proste i złożone Typy zmiennych "wbudowane", tj. identyfikowane przez słowa kluczowe, są określane jako proste: int short long float double
Współbieżność w środowisku Java
Współbieżność w środowisku Java Wątki i ich synchronizacja Zagadnienia Tworzenie wątków Stany wątków i ich zmiana Demony Synchronizacja wątków wzajemne wykluczanie oczekiwanie na zmiennych warunkowych
Platformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 5 W programowaniu obiektowym programista koncentruje się na obiektach. Zadaje sobie pytania typu:
Programowanie 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
0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie
0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na
C++ - [4-7] Polimorfizm
Slajd 1 z 14 C++ - [4-7] Polimorfizm Nysa 2004-2013. Autor: Wojciech Galiński. wersja dnia 20 maja 2013 r. Slajd 2 z 14 Polimorfizm i klasa polimorficzna POLIMORFIZM (cytat z Wikipedii) (wielopostaciowość)
Zaawansowane 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
Java Język programowania
Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja
JAVA. 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
Kurs 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
Wykł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
Java. 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
Podstawy 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,
Zaawansowane 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
Java - 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
Abstrakcyjny typ danych
Abstrakcyjny typ danych Abstrakcyjny Typ Danych (abstract data type-adt): zbiór wartości wraz z powiązanymi z nimi operacjami; operacje są zdefiniowane w sposób niezależny od implementacji; operacje są
Zaawansowane 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
Obiekt 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
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
TEMAT : 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ą
Technologie 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,
Klasa 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
UML 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ł
Programowanie obiektowe, wykład nr 6. Klasy i obiekty
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto
Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Wykł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
Programowanie 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,
Java: 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
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi
IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi EGZAMIN PIERWSZY (25 CZERWCA 2013) JĘZYK C++ poprawiam ocenę pozytywną z egzaminu 0 (zakreśl poniżej x) 1. Wśród poniższych wskaż poprawną formę definicji
Projektowanie 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
Programowanie, część I
Programowanie, część I Rafał J. Wysocki Instytut Fizyki Teoretycznej, Wydział Fizyki UW 22 lutego 2011 Rafał J. Wysocki (rwys@fuw.edu.pl) Programowanie, część I 22 lutego 2011 1 / 80 Wstęp Informacje organizacyjne
Listy powiązane zorientowane obiektowo
Listy powiązane zorientowane obiektowo Aby zilustrować potęgę polimorfizmu, przeanalizujmy zorientowaną obiektowo listę powiązaną. Jak zapewne wiesz, lista powiązana jest strukturą danych, zaprojektowaną
Podstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
Wykł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
Programowanie 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
Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).
Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe
PARADYGMATY PROGRAMOWANIA Wykład 3
PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na
Microsoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Definicje klas i obiektów. Tomasz Borzyszkowski
Definicje klas i obiektów Tomasz Borzyszkowski Podstawy Do tej pory używaliśmy klas jedynie po to, by zdefiniować metodę main(). Klasy mają znacznie szersze zastosowanie w Java. W OOP (także w Java) klasy
Metody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Rozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
PARADYGMATY PROGRAMOWANIA Wykład 2
PARADYGMATY PROGRAMOWANIA Wykład 2 Definiowanie klas w C++ - ciąg dalszy Lista inicjalizująca konstruktora Przeznaczenie - do inicjalizacji pól klasy z kwalifikatorem const i inicjalizacji obiektów składowych
Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Kompozycja i dziedziczenie klas
Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas
Programowanie 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
Projektowanie algorytmów rekurencyjnych
C9 Projektowanie algorytmów rekurencyjnych wiczenie 1. Przeanalizowa działanie poniszego algorytmu dla parametru wejciowego n = 4 (rysunek 9.1): n i i
Wykład 8: Obsługa Wyjątków
Wykład 8: Obsługa Wyjątków Wyjątki Wyjątek to sytuacja nienormalna, która pojawia się w trakcie wykonania programu. W językach bez obsługi wyjątków, błędy są wykrywane i obsługiwane ręcznie, zwykle przez
Definiowanie 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:
Język C++ Programowanie obiektowe
Język C++ Programowanie obiektowe Cechy programowania obiektowego abstrakcyjne typy danych hermetyczność obiektów (kapsułkowanie) dziedziczenie polimorfizm Programowanie proceduralne vs. programowanie
Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).
Wprowadzenie w dziedziczenie Klasa D dziedziczy klasę B: B klasa bazowa D klasa pochodna Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class). Najpierw jest tworzona klasa bazowa,
Wywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Ję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
TEMAT : 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
Wykł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
Informatyka 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
Programowanie obiektowe. Wykład 03. Maciej Wołoszyn 17 marca Polimorfizm oraz wczesne i późne wiazanie
Programowanie obiektowe Wykład 03 Maciej Wołoszyn mailto:woloszyn@fatcat.ftj.agh.edu.pl 17 marca 2009 Spis treści 1 Polimorfizm oraz wczesne i późne wiazanie 1 1.1 Metody i klasy abstrakcyjne..........................
Programowanie 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
C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop Spis treści
C# 6.0 : kompletny przewodnik dla praktyków / Mark Michaelis, Eric Lippert. Gliwice, cop. 2016 Spis treści Spis rysunków 11 Spis tabel 13 Przedmowa 15 Wprowadzenie 17 Podziękowania 27 O autorach 29 1 Wprowadzenie
Języki i techniki programowania Ćwiczenia 2
Języki i techniki programowania Ćwiczenia 2 Autor: Marcin Orchel Spis treści: Język C++... 5 Przekazywanie parametrów do funkcji... 5 Przekazywanie parametrów w Javie.... 5 Przekazywanie parametrów w c++...
Programowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.
Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 7 Przegląd typów strukturalnych - klasy i obiekty - c.d. Klasa - powtórzenie
PROE wykład 4 pozostałe operatory, forward declaration, dziedziczenie. dr inż. Jacek Naruniec
PROE wykład 4 pozostałe operatory, forward declaration, dziedziczenie dr inż. Jacek Naruniec Kolokwium wykładowe Pierwsze kolokwium 6 kwietnia Drugie kolokwium 1 czerwca Kolokwium poprawkowe 8 czerwca
Wprowadzenie 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
Projektowanie aplikacji internetowych laboratorium
Projektowanie aplikacji internetowych laboratorium Programowanie w języku Java Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne NetBeans 7 (zrzuty ekranów pochodzą z wersji
Programowanie 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,
Podstawy programowania obiektowego
Podstaw programowania obiektowego wkład 5 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak, korzstając z dotchczasowej wiedz, zdefiniować w programie punkt? = 3; = 2; Może tak?
Programowanie 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ć
Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI)
Projektowanie i programowanie obiektowe (materiały do wykładu cz. VI) Jacek Cichosz www.zssk.pwr.wroc.pl Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska Dziedziczenie 221 Dziedziczenie Dziedziczenie
Funkcje wirtualne. Wskaźniki do klas pochodnych są podstawą dla funkcji wirtualnych i polimorfizmu dynamicznego.
Funkcje wirtualne W C++ polimorfizm jest zrealizowany w dwa sposoby: na etapie kompilacji i na etapie wykonania. Na etapie kompilacji polimorfizm jest zrealizowany poprzez przeciążenie funkcji i operatorów.
Podstawy Programowania semestr drugi. Wykład czternasty
Wykład czternasty 1. Polimorfizm Ostatni wykład zakończyliśmy stwierdzeniem, że możemy obiektowi dowolnej klasy przypisa ć obiekt klasy dziedziczącej po tej klasie. Przypisanie takie obejmuje jednak jedynie
Programowanie obiektowe w C++ Wykład 12
Programowanie obiektowe w C++ Wykład 12 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) 1 / 22 Zakresowe pętle for double tab[5] {1.12,2.23,3.33,4.12,5.22 for(double x: tab)
Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów