Wprowadzenie do programowania obiektowego
|
|
- Michalina Antonina Bednarek
- 5 lat temu
- Przeglądów:
Transkrypt
1 Wprowadzenie do programowania obiektowego OOP - Object-Oriented Programming Z. Rudnicki Tradycyjne programowanie strukturalne Zalety: Sekwencyjne wykonywanie poleceń ułatwia tworzenie i sprawdzanie algorytmów Wady: Dane są dostępne w całym programie co zwiększa ryzyko ich przypadkowego uszkodzenia Obszerne programy mogą być mało przejrzyste Brak dostosowania do trybu okienkowego i graficznych interfejsów użytkownika 2 1
2 OOP - Object-Oriented Programming Programowanie Zorientowane Obiektowo Bazuje na klasach obiektów (class), stanowiących rozszerzenie koncepcji typów danych - a w szczególności typów charakteryzowanych n-tkami cech (i w Matlabie zwanych strukturami) - o funkcje (methods) i zdarzenia (events) do obsługi tych danych. Pozwala odwzorować zarówno graficzne (ekranowe) obiekty dialogowe jak dowolne obiekty ze świata realnego 3 Programowanie Zorientowane Obiektowo c.d. Pozwala tworzyć klasy obiektów o zmiennych cechach (properties) do wielokrotnego użytku (reusable), zabezpieczone przed obcymi działaniami czyli hermetyzowane (encapsulated), dzięki posiadaniu własnych operatorów i funkcji (methods) Umożliwia dziedziczenie (inheritance) cech z klas nadrzędnych Operatory i funkcje mogą wykazywać polimorfizm (wielopostaciowość) - zmieniając działanie odpowiednio do klasy (typu) obiektów na których działają. Taka zmiana działania operatora nazywana jest z angielska overloading czyli przedefiniowanie albo przeładowanie operatora ale najczęściej tłumaczona jest (mylnie) jako przeciążanie operatorów. Przykład: dodawanie tekstów to ich sklejanie a nie suma jak dla liczb 4 2
3 W Matlabie zamiast typów danych są klasy W tradycyjnych językach programowania każda stała i zmienna musi mieć określony typ. W Matlabie i językach obiektowo zorientowanych zamiast typów zmiennych występują klasy obiektów. Powstające zmienne są więc obiektami określonych klas. Na przykład zdefiniujmy zmienne przez nadanie im wartości: >> p='ala'; x=[5,2;3,4]; y=4.1; >> whos % - wyświetli utworzone zmienne: Name Size Bytes Class p 1x3 6 char x 2x2 32 double y 1x1 8 double 5 Cechy i metody klasy obiektów Każda klasa ma przypisane CECHY properties oraz METODY methods (czyli podprogramy funkcyjne). Na przykład chcemy wyświetlić metody dla klasy o nazwie double: >> methods('double') Methods for class double: abs exist nonzeros accumarray exp norm acos fft not acosh fftn nzmax
4 Trzy poziomy korzystania z obiektowości w Matlabie 1) nieświadome przez używanie zmiennych, funkcji i wykresów - jak dotychczas 2) korzystanie z graficznych dialogowych obiektów przy pomocy kreatora Guide 3) samodzielne definiowanie dowolnych klas i obiektów 7 Gotowe klasy w Matlabie Przy tworzeniu wykresów i programów z interfejsem graficznym - korzystamy ze zdefiniowanych już w Matlabie klas, tworząc jedynie obiekty czyli instancje tych klas, jak: układy współrzędnych, linie, przyciski, suwaki i t.p. Modyfikujemy ich cechy i przypisujemy ich zdarzeniom funkcje. 8 4
5 Korzystanie z wbudowanych klas i obiektów graficznych za pomocą kreatora GUIDE 9 Przykład: utworzyć program do obliczania pierwiastka kwadratowego z wpisanej liczby 10 5
6 Kreator GUIDE oraz Inspector cech W oknie komend wpisujemy: guide - pojawi się pusta formatka na którą można wstawiać obiekty dialogowe z palety klas Wybrany kliknięciem obiekt pokaże swoje cechy i metody w oknie INSPECTOR Cechy te (np.: Color) można zmieniać w INSPECTORze Każdy element ma identyfikator istniejący jako wartość cechy TAG 11 Tworzenie obiektów za pomocą palety klas Do naszego prostego programu wykorzystamy obiekty następujących klas: STATIC TEXT - ustalony tekst nie podlegający edycji EDIT TEXT - okienko do wpisywania, w naszym przypadku liczb dla których ma obliczyć pierwiastek PUSH BUTTON - przycisk - u nas z napisem OBLICZ - inicjujący obliczenia 12 6
7 Tworzenie GUI programu PIERWIASTEK w kreatorze GUIDE 13 Określanie cech obiektów w okienku INSPECTOR Po wstawieniu obiektów można zmieniać ich położenie i rozmiary przy pomocy myszki natomiast inne cechy zmienia się po wybraniu obiektu w okienku INSPECTOR. W naszym przypadku istotne będą cechy: String - tekst wyświetlany FontSize - rozmiar czcionki FontWeight - wytłuszczenie czcionki BackGroundColor - kolor tła Callback - wywołanie funkcji realizowane przyciskiem 14 7
8 Zmienione cechy obiektów Klasa TAG Cecha Wartość cechy String 'Obliczanie pierwiastka liczby' Static Text text1 FontSize 11 FontWeight bold BackGroundColor [1 1 0] String 'Liczba =' Static Text text2 FontSize 11 FontWeight bold BackGroundColor [1 1 0] String 'Pierwiastek =' Static Text text3 FontSize 11 FontWeight bold BackGroundColor [1 1 0] Static Text String '' text4 FontSize 11 FontWeight bold Edit Text String '' edit1 FontSize 11 FontWeight bold String 'OBLICZ' Push Button pushbutton1 FontSize 11 FontWeight bold Callback - ustawiona automatycznie 15 Funkcja pushbutton1_callback wywoływana kliknięciem przycisku OBLICZ Przycisk pushbutton1 ma wywołać funkcję która: odczyta tekst wpisany do pola edit1 i przekonwertuje go na liczbę, obliczy pierwiastek z tej liczby, wyświetli wynik w polu text4. Funkcja ta może mieć następującą postać: % function pushbutton1_callback(hobject, eventdata, handles) % hobject - handle to pushbutton1 (see GCBO) % eventdata - reserved - to future version of MATLAB % handles - structure with handles and user data x = str2double(get(handles.edit1,'string')); y = sqrt(x); set(handles.text4,'string',num2str(y)); 16 8
9 Samodzielne definiowanie nowych klas 17 Definiowanie nowej klasy (klasy użytkownika) Zdefiniowanie nowej klasy wymaga utworzenia nowego folderu dla tej klasy o i umieszczeniu w nim m-plików obsługujących tą klasę. Przykład: przed utworzeniem klasy o nazwie Wektor2D tworzymy folder o nazwie Folder ten będzie przeszukiwany przez MATLABa w pierwszej kolejności. 18 9
10 Definiowanie nowej klasy Zdefiniujmy nową klasę obiektów o nazwie: Wektor2D Tworzymy blok classdef i zapisujemy go do pliku o nazwie takiej jak nazwa klasy, a więc w naszym przypadku Wektor2D.m do Cechami obiektu klasy Wektor2D - wymienionymi w bloku properties - niech będą współrzędne jego początku oraz końca: Obiekty definiowanej klasy mogą mieć też określone metody czyli methods oraz zdarzenia czyli events 19 Tworzenie obiektu danej klasy Na podstawie definicji klasy można tworzyć wiele obiektów należących do tej klasy i nazywanych czasem instancjami klasy. Zdefiniujmy więc wektor A przez przypisanie mu nazwy klasy: >> A = Wektor2D A = Wektor2D Properties: Xp: [] Yp: [] Xk: [] Yk: [] Methods Odpowiedź Matlaba zaznaczono powyżej kolorem niebieskim. Jak widać cechy nie mają przypisanych wartości
11 Przypisanie wartości CECH - notacja kropkowa Można przypisywać wartości cechom korzystając z notacji kropkowej: nazwa_obiektu. nazwa_cechy = wartość_cechy nazwę cechy poprzedza nazwa obiektu (wektora A) oddzielona kropką: >> A.Xp=0; A.Yp=0; A.Xk=1; A.Yk=1; Teraz sprawdźmy jakie składowe ma wektor A wpisując jego nazwę: >> A A = Wektor2D Properties: Xp: 0 Yp: 0 Xk: 1 Yk: 1 A 1,1 Methods 0,0 21 Definiowanie KONSTRUKTORA klasy Definicja klasy może zawierać definicję specjalnej funkcji (metody) zwanej konstruktorem, a posiadającej nazwę taką samą jak nazwa klasy. Konstruktor pozwala tworzyć obiekty i nadawać wartości cechom obiektu. Oto konstruktor dla klasy Wektor2D umieszczony w bloku methods function obj = Wektor2D(xp, yp, xk, yk) if nargin <4 'Wektor2D([], [], [], [])' else obj.xp=xp; obj.yp=yp; obj.xk=xk; obj.yk=yk; end %if end %-----end_fun 22 11
12 Wykorzystanie KONSTRUKTORA do tworzenia obiektu Po dodaniu konstruktora do definicji klasy, można tworzyć obiekt o określonych cechach przy pomocy jednego polecenia, na przykład: >> B=Wektor2D(1,1,2,0) B = Wektor2D Properties: Xp: 1 Yp: 1 Xk: 2 Yk: 0 Methods 23 Metody Metody są m-funkcjami, które pobierają obiekt jako jeden z argumentów wejściowych. Obiekt (instancja klasy) może zostać utworzony przez uruchomienie specjalnej metody zwanej konstruktorem i przekazanie do niej odpowiednich argumentów wejściowych. W MATLAB-ie konstruktory mają taką samą nazwę jak klasa. Składnia wywołania metody w przypadku ogólnym ma postać: [out1, out2,...] = nazwa_metody(obiekt, arg1, arg2,...); Niektóre metody, nazywane prywatnymi, mogą być wywoływane wyłącznie przez inne metody swojej klasy - nie można ich wywołać z wiersza poleceń ani z metod innych klas. Metody prywatne są umieszczane w 24 12
13 Definiowanie METOD klasy Zdefiniujmy na razie dwie metody: classdef Wektor2D end a) wyznaczanie składowych wektora Dx, Dy, b) wyznaczanie długości wektora. properties Xp, Yp, Xk, Yk end methods function [dx, dy] = skladowe(obj) dx=obj.xk-obj.xp; dy=obj.yk-obj.yp end function Le = dlugosc(obj) [Dx, Dy]= skladowe(obj) Le = sqrt(dx^2+dy^2); end end 25 Wywoływanie metod Metoda dlugosc dla wektora A daje poprawny wynik bo jak wiemy przekątna kwadratu o boku 1 to pierwiastek z 2: >> dlugosc (A) ans = Metoda skladowe nie wyświetli poprawnego wyniku jeśli nie przypomnimy sobie, że trzeba jej wyniki wstawić do dwuelementowego wektora : skladowe(a) ans = 1 >> [Dx, Dy]= skladowe(a) Dx = 1 Dy =
14 Wywoływanie metod - notacja kropkowa Metody można również wywoływać stosując notację kropkową: >> A.dlugosc ans = >> [p q]=a.skladowe p = 1 q = 1 27 Przedefiniowywanie funkcji i operatorów Każda klasa może definiować, w specyficzny dla swych obiektów sposób, funkcje i operatory istniejące już - pod takimi samymi nazwami - w innych klasach. W naszym przykładzie zdefiniujemy dla klasy Wektor2D dodawanie wektorów, przy pomocy funkcji "plus", mimo, że funkcja "plus" jest już zdefiniowana w Matlabie dla liczb rzeczywistych oraz macierzy i jest także wywoływana przez operator "+". function s = plus(o1,o2) s=wektor2d; s.xp=o1.xp; s.yp=o1.yp; [Dx, Dy]= skladowe(o2); s.xk=o1.xk+dx; s.yk=o1.yk+dy; end %-----fun 28 14
15 Przedefiniowywanie funkcji i operatorów c.d. Takie przedefiniowywanie istniejących funkcji lub operatorów nazywa się po angielsku "overloading" co jest mylnie tłumaczone na "przeciążanie" a nieco bardziej poprawnie na "przeładowywanie". Sprawdzamy czy metoda dobrze doda nasze wektory: >> C=A+B C = Wektor2D Properties: Xp: 0 Yp: 0 Xk: 2 Yk: 0 Methods A 1,1 B 0,0 C 2,0 29 Dziedziczenie (Inheritance) Dziedziczenie to związek pomiędzy klasami obiektów określający przekazywanie cech (definicji atrybutów, metod, itd.) z klasy bazowej (nadklasy) do jej klas pochodnych (podklas). Np. obiekt klasy Pracownik dziedziczy wszystkie własności (definicje atrybutów, metody) określone w ramach klasy Osoba. Obiekty mogą dziedziczyć od innych obiektów właściwości i sposoby działania. Kiedy jeden obiekt (pochodny) dziedziczy od innego (bazowego), do obiektu pochodnego włączone są wszystkie pola struktury obiektu bazowego i może on używać wszystkich metod obiektu bazowego. Metody obiektu bazowego mają dostęp jedynie do pól, które obiekt pochodny dziedziczy od bazowego. Dzięki dziedziczeniu obiekty klas pochodnych zachowują się dokładnie jak obiekt bazowy, z dodatkowymi rozszerzeniami
16 Hierarchia klas Matlaba Klasy nowo tworzone przez użytkownika wywodzą się z klasy struct czyli struktury stanowiącej n-tkę pól analogicznie jak wiersz w tabeli bazy danych. Pola struktury to cechy obiektu 31 Cechy obiektów danej klasy Każdy obiekt danej klasy może być charakteryzowany n-tką cech podobnie jak w tabeli bazy danych gdzie każdemu obiektowi odpowiada wiersz z zapisem jego cech (zwany rekordem, a w Matlabie strukturą)
Matlab - tworzenie graficznego interfejsu użytkownika GUI - Graphic User Interface
Matlab - tworzenie graficznego interfejsu użytkownika GUI - Graphic User Interface Z.Rudnicki Sposoby wykorzystywania graficznych elementów dialogowych w programach Matlaba Generowanie elementów w oknie
Bardziej szczegółowoMATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący
MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący Laboratorium 13: GUI - Graficzny interfejs użytkownika Cel: Projektowanie z wykorzystaniem Graficzny Interfejs Użytkownika Czas: Wprowadzenia
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ółowoWYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.
WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM NetBeans Wykonał: Jacek Ventzke informatyka sem. VI 1. Uruchamiamy program NetBeans (tu wersja 6.8 ) 2. Tworzymy
Bardziej szczegółowoĆwiczenie 7. Matlab formularze, komponenty
7. Matlab formularze, komponenty Tworzenie interfejsu komponentowego GUI (Graphic User Interface) Wpisujemy w Command Window: guide Otrzymujemy okienko z możliwościami tworzenia nowego formularza (lub
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ółowoPodstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja
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 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ółowoĆwiczenie 6. Matlab formularze, komponenty
6. Matlab formularze, komponenty Tworzenie interfejsu komponentowego GUI (Graphic User Interface) Wpisujemy w Command Window: guide Otrzymujemy okienko z możliwościami tworzenia nowego formularza (lub
Bardziej szczegółowoMathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje
Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje Opracował: Zbigniew Rudnicki Powtórka z poprzedniego wykładu 2 1 Dokument, regiony, klawisze: Dokument Mathcada realizuje
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ółowoProgramowanie 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
Bardziej szczegółowoRozdział 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
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ół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ółowoKier. MTR Programowanie w MATLABie Laboratorium
Kier. MTR Programowanie w MATLABie Laboratorium Ćw. 6 Zasady programowania obiektowego w grafice na przykładzie interfejsu graficznego użytkownika (GUI) 1. Wprowadzenie Model obiektowy grafiki Grafika
Bardziej szczegółowoInformatyka II. Laboratorium Aplikacja okienkowa
Informatyka II Laboratorium Aplikacja okienkowa Założenia Program będzie obliczał obwód oraz pole trójkąta na podstawie podanych zmiennych. Użytkownik będzie poproszony o podanie długości boków trójkąta.
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ół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ół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ółowoTypy 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
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ółowo- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy
Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla
Bardziej szczegółowoĆwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych
Ćwiczenia nr 4 Arkusz kalkulacyjny i programy do obliczeń statystycznych Arkusz kalkulacyjny składa się z komórek powstałych z przecięcia wierszy, oznaczających zwykle przypadki, z kolumnami, oznaczającymi
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ół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ół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ół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ół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ół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 GUI
Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu
Bardziej szczegółowoBudowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)
Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface) 1. Udostępnianie wszystkich prywatnych atrybutów do prezentacji, wprowadzenie standardu nazewnictwa plików nazwy plików
Bardziej szczegółowoJęzyk programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/
Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.
Bardziej szczegółowoObiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody
Obiektowy PHP Czym jest obiekt? W programowaniu obiektem można nazwać każdy abstrakcyjny byt, który programista utworzy w pamięci komputera. Jeszcze bardziej upraszczając to zagadnienie, można powiedzieć,
Bardziej szczegółowoDodawanie grafiki i obiektów
Dodawanie grafiki i obiektów Word nie jest edytorem obiektów graficznych, ale oferuje kilka opcji, dzięki którym można dokonywać niewielkich zmian w rysunku. W Wordzie możesz zmieniać rozmiar obiektu graficznego,
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ółowoMS Word 2010. Długi dokument. Praca z długim dokumentem. Kinga Sorkowska 2011-12-30
MS Word 2010 Długi dokument Praca z długim dokumentem Kinga Sorkowska 2011-12-30 Dodawanie strony tytułowej 1 W programie Microsoft Word udostępniono wygodną galerię wstępnie zdefiniowanych stron tytułowych.
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ółowoPisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.
MATLAB Co to jest? program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich oraz do tworzenia symulacji komputerowych. Nazwa Nazwa programu pochodzi od angielskich
Bardziej szczegółowoProgramowanie obiektowe. Wykład 4
Programowanie obiektowe Wykład 4 Tworzenie własnych obiektów Słowo kluczowe this W JavaScriptmożna tworzyć własne obiekty. Wykorzystuje się tu zapis utworzonej funkcji o nazwie takiej samej jak klasa,
Bardziej szczegółowoWłaściwości i metody obiektu Comment Właściwości
Właściwości i metody obiektu Comment Właściwości Właściwość Czy można zmieniać Opis Application nie Zwraca nazwę aplikacji, która utworzyła komentarz Author nie Zwraca nazwę osoby, która utworzyła komentarz
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w
Bardziej szczegółowoProgramowanie 2. Język C++. Wykład 3.
3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoPrzykład 1: Funkcja jest obiektem, przypisanie funkcji o nazwie function() do zmiennej o nazwie funkcja1
Rachunek Prawdopodobieństwa i Statystyka lab 3. Kaja Gutowska (Kaja.Gutowska@cs.put.poznan.pl) 1. Funkcje: - Funkcje nie powinny korzystać ze zmiennych globalnych. - Funkcje powinny być możliwie krótkie.
Bardziej szczegółowoDodanie nowej formy do projektu polega na:
7 Tworzenie formy Forma jest podstawowym elementem dla tworzenia interfejsu użytkownika aplikacji systemu Windows. Umożliwia uruchomienie aplikacji, oraz komunikację z użytkownikiem aplikacji. W trakcie
Bardziej szczegółowo37. Podstawy techniki bloków
37 37. Podstawy techniki bloków Bloki stosujemy w przypadku projektów zawierających powtarzające się identyczne złożone obiekty. Przykłady bloków pokazano na rysunku. Zacieniowane kwadraty to tzw. punkty
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ółowoJęzyki i metody programowania Java Lab2 podejście obiektowe
Języki i metody programowania Java Lab2 podejście obiektowe https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf Zofia Kruczkiewicz 1 Zadanie
Bardziej szczegółowoTablice, DataGridView
Tablice, DataGridView Gdy rośnie liczba danych do przechowywania w programie, a następnie ich obrobienia - pojawiają się nowe struktury danych (moŝna by powiedzieć pojemniki na dane) zwane tablicami. Tablica
Bardziej szczegółowoMateriały do laboratorium MS ACCESS BASIC
Materiały do laboratorium MS ACCESS BASIC Opracowała: Katarzyna Harężlak Access Basic jest językiem programowania wykorzystywanym w celu powiązania obiektów aplikacji w jeden spójny system. PROCEDURY I
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ółowoSposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.
Tabele przestawne Tabela przestawna to narzędzie służące do tworzenia dynamicznych podsumowań list utworzonych w Excelu lub pobranych z zewnętrznych baz danych. Raporty tabeli przestawnej pozwalają na
Bardziej szczegółowoPodstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1 Tablice wielowymiarowe C umożliwia definiowanie tablic wielowymiarowych najczęściej stosowane
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ółowoZadanie 1. Stosowanie stylów
Zadanie 1. Stosowanie stylów Styl to zestaw elementów formatowania określających wygląd: tekstu atrybuty czcionki (tzw. styl znaku), akapitów np. wyrównanie tekstu, odstępy między wierszami, wcięcia, a
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ół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ółowoDziedziczenie. Zadanie 1
Dziedziczenie Zadanie 1 Napisz klasę KolorowyPunkt, która dziedziczy po klasie Punkt a dodatkowo przechowuje informacje o kolorze. Uzupełnij ją o metody umożliwiające pobieranie i ustawianie koloru. Pamiętaj
Bardziej szczegółowoTypy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:
Typy klasowe (klasy) 1. Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która definiuje programy za pomocą obiektów
Bardziej szczegółowoWykład 5: Klasy cz. 3
Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu
Bardziej szczegółowoProgramowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Bardziej szczegółowo1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Bardziej szczegółowoJAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
Bardziej szczegółowoPakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki
Pakiety matematyczne Matematyka Stosowana dr inż. Krzysztof Burnecki 17.04.2013 Wykład 9 Operacje symboliczne w Matlabie Graficzny interfejs użytkownika (GUI) Slajdy powstały na podstawie prezentacji Informatyka
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ółowoW2 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;
Bardziej szczegółowoWstęp do programowania obiektowego. Wykład 2
Wstęp do programowania obiektowego Wykład 2 1 CECHY I KONCEPCJA PROGRAMOWANIA OBIEKTOWEGO 2 Cechy programowania obiektowego Dla wielu problemów podejście obiektowe jest zgodne z rzeczywistością (łatwe
Bardziej szczegółowo2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowoAplikacje geodezyjne
Aplikacje geodezyjne 1. Azymut ze współrzędnych Utwórz nowy projekt o nazwie Azymut. W oknie rozmieść kontrolki mniej więcej zgodnie z rysunkiem. Obiekty mają zmienione następujące wartości cech: cecha
Bardziej szczegółowoFormatowanie tekstu za pomocą zdefiniowanych stylów. Włączanie okna stylów. 1. zaznaczyć tekst, który chcemy formatować
Style Bardzo często w edytorze podczas pisania tekstu zachodzi potrzeba wielokrotnego powtórzenia czynności związanych z formatowaniem. Aby zapobiec stałemu otwieraniu okien dialogowych i wybierania stale
Bardziej szczegółowoPODSTAWY TWORZENIA WYKRESÓW ORAZ HANDLE GRAPHICS
PODSTAWY TWORZENIA WYKRESÓW ORAZ HANDLE GRAPHICS GRAFIKA ZESTAWIENIE FUNKCJI Funkcje graficzne są umieszczone w pięciu podkatalogach katalogu *Matlab\Toolbox\Matlab: \graph2d - grafika 2-wymiarowa \graph3d
Bardziej szczegółowoMechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Bardziej szczegółowoPodstawy Programowania 2
Podstawy Programowania 2 Laboratorium 7 Instrukcja 6 Object Pascal Opracował: mgr inż. Leszek Ciopiński Wstęp: Programowanie obiektowe a programowanie strukturalne. W programowaniu strukturalnym, któremu
Bardziej szczegółowoPaweł Kurzawa, Delfina Kongo
Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management
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ółowoDziedziczenie jednobazowe, poliformizm
Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie jednobazowe 2. Polimorfizm część pierwsza 3. Polimorfizm część druga Zofia Kruczkiewicz, ETE8305_6 1 Dziedziczenie jednobazowe, poliformizm 1. Dziedziczenie
Bardziej szczegółowoWprowadzenie do systemu Delphi
50 Rozdział 4 Wprowadzenie do systemu Delphi W niniejszym rozdziale zilustrujemy na prostych przykładach proces programowania wizualno-obiektowego w systemie Delphi. 4.1 Znajdowanie elementu maksymalnego
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ółowoPolitechnika Poznańska Wydział Budowy Maszyn i Zarządzania
1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych
Bardziej szczegółowoOkno zarządzania warstwami w dokumencie znajduje się na wstążce Narzędzia główne
Praca na warstwach w AutoCad. Jeżeli mamy do wykonania szkic, w którym występują linie, kształty o różnej grubości, kolorze i trybie wówczas stosujemy warstwy. Wyobrazić to sobie można, jako przezroczyste
Bardziej szczegółowoBAZY DANYCH Panel sterujący
BAZY DANYCH Panel sterujący Panel sterujący pełni z reguły rolę centrum, z którego wydajemy polecenia i uruchamiamy różnorodne, wcześniej zdefiniowane zadania, np. wyświetlamy formularze lub drukujemy
Bardziej szczegółowoWarsztaty dla nauczycieli
WPROWADZENIE Wyprowadzanie danych: Wyprowadzanie na ekran komunikatów i wyników umożliwia instrukcja wyjścia funkcja print(). Argumentami funkcji (podanymi w nawiasach) mogą być teksty, wyrażenia arytmetyczne
Bardziej szczegółowoSkrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać
MatLab część III 1 Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać komentarze poprzedzone znakiem % Skrypty
Bardziej szczegółowoKolory elementów. Kolory elementów
Wszystkie elementy na schematach i planach szaf są wyświetlane w kolorach. Kolory te są zawarte w samych elementach, ale w razie potrzeby można je zmienić za pomocą opcji opisanych poniżej, przy czym dotyczy
Bardziej szczegółowoAccess - Aplikacja. Tworzenie bazy danych w postaci aplikacji
Tworzenie bazy danych w postaci aplikacji Access - Aplikacja 1. Otwórz plik zawierający bazę danych Wypożyczalni kaset video o nazwie Wypożyczalnia.mdb. 2. Utworzy kwerendę, która wyświetli tytuły i opisy
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ółowoza pomocą: definiujemy:
HTML CSS za pomocą: języka HTML arkusza CSS definiujemy: szkielet strony wygląd strony Struktura dokumentu html - znaczniki Znaczniki wyznaczają rodzaj zawartości. element strony
Bardziej szczegółowoProgramowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26
Programowanie w C++ Wykład 13 Katarzyna Grzelak 4 czerwca 2018 K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowoRóżne właściwości. Różne właściwości. Różne właściwości. C++ - klasy. C++ - klasy C++ - KLASY
Różne właściwości Funkcje tak samo jak zmienne mają swoje miejsce w pamięci, gdzie są zapisane. Można więc uzyskać ich adres. Podobnie jak adres tablicy jest zwracany przez jej nazwę, podaną bez nawiasu
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 w środowisku graficznym GUI
Programowanie w środowisku graficznym GUI 1. Wprowadzenie Język C# jest stworzony do szybkiego tworzenia aplikacji przy pomocy zintegrowanego środowiska programistycznego IDE (ang. Itegrated Development
Bardziej szczegółowoProgramowanie w C++ Wykład 12. Katarzyna Grzelak. 20 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32
Programowanie w C++ Wykład 12 Katarzyna Grzelak 20 maja 2019 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32 Klasy - powtórzenie Klasy typy definiowane przez użytkownika Klasy zawieraja dane składowe
Bardziej szczegółowoProgramowanie strukturalne i obiektowe. Funkcje
Funkcje Często w programach spotykamy się z sytuacją, kiedy chcemy wykonać określoną czynność kilka razy np. dodać dwie liczby w trzech miejscach w programie. Oczywiście moglibyśmy to zrobić pisząc trzy
Bardziej szczegółowoAKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH
AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH II rok Kierunek Logistyka Temat: Zajęcia wprowadzające. BHP stanowisk
Bardziej szczegółowoTworzenie szablonów użytkownika
Poradnik Inżyniera Nr 40 Aktualizacja: 12/2018 Tworzenie szablonów użytkownika Program: Plik powiązany: Stratygrafia 3D - karty otworów Demo_manual_40.gsg Głównym celem niniejszego Przewodnika Inżyniera
Bardziej szczegółowoKalkulator. Programowanie komputerów. Kalkulator możliwe udoskonalenia. Kalkulator. Kalkulator. Kalkulator możliwe udoskonalenia
Programowanie komputerów Relatywnie prosty interfejs użytkownika Złożony algorytm. Elementy obowiązkowe (2,) Klawisze: numeryczne..9, znak dziesiętny (","), operacje arytmetyczne, -, *, /, wynik () oraz
Bardziej szczegółowo