|
|
- Teresa Lipińska
- 9 lat temu
- Przeglądów:
Transkrypt
1 Programowanie strukturalne i obiektowe Typ wyliczeniowy, lista wyliczeniowa. Rzutowanie w C++. Wskaźniki i referencje. Działania na wskaźnikach. Wskaźniki typu const. Tablice wskaźników. Tworzenie elementów na stercie i zwalnianie pamięci. Funkcje i operatory. Wywołanie funkcji. Modyfikator const. Przekazywanie argumentów (wartość, wskaźnik, referencja) i zwracane wartości. Przeciążanie funkcji i operatorów. Szablony funkcji. Makro. Argumenty funkcji main(). Funkcje inline. Klasa, struktura, unia. Obiekty. Składowe i funkcje składowe klasy. Struktura programu przy stosowaniu programowania obiektowego. Dostęp do składowych i funkcji klasy. Umiejscowienie funkcji składowych klasy. Składowe statyczne klasy i ich definicja. Tworzenie obiektów klasy. Konstruktor. Umiejscowienie konstruktora. Użycie wielu konstruktorów. Likwidacja obiektu klasy. Umiejscowienie destruktora. Tablice obiektów. Klasy zagnieżdżone Wskaźniki do obiektów klasy. Tworzenie i likwidacja. obiektów klasy przy użyciu wskaźników. Dostęp do składowych i funkcji składowych klasy za pomocą wskaźników. Wskaźnik this. Działania na obiektach. Przeciążanie funkcji i operatorów. Rzutowanie. Dziedziczenie. Typy dziedziczenia i dostęp do składowych i funkcji klasy. Konstruktory i destruktory. Dostęp do składowych i funkcji składowych klasy bazowej i pochodnej. Przesłanianie i ukrywanie metod klasy bazowej. Rzutowanie. Dziedziczenie wielokrotne. Konstruktory i destruktory przy dziedziczeniu wielokrotnym. Eliminacja niejednoznaczności. Dziedziczenie ze wspólnej klasy bazowej. Funkcje wirtualne i klasy abstrakcyjne. Rzutowanie. STL Zaliczenie 1
2 Poniższy kod: struct Struct {int val;}; int main() {Struct.val = 5; return 0;} a) przypisze zmiennej val wartość 5 b) nie zostanie wykonany - w strukturze Struct nie ma konstruktora c) nie zostanie wykonany - dostęp do zmiennej val jest private d) nie zostanie wykonany - nie został stworzony obiekt struktury Struct Efektem poniższego programu: class Ptak{public: virtual void Glos() const=0;}; class Wrona: public Ptak {public:void Glos() const{cout<<"kra"<<endl;}}; int main() {Ptak ptak; Wrona wrona; wrona.glos(); return 0;} będzie: a) Kra b) Błąd polegający na braku konstruktora klasy Ptak c) błąd polegający na próbie stworzenia obiektu klasy abstrakcyjnej d) Błąd polegający na braku konstruktora klasy Wrona 2
3 Poniższy kod: class Class {int val;}; int main() {class Class; Class.val = 5; return 0;} a) przypisze zmiennej val wartość 5 b) nie zostanie wykonany - dostęp do zmiennej val jest private c) nie zostanie wykonany - nie został stworzony obiekt klasy Class d) nie zostanie wykonany - w klasie Class nie ma konstruktora Definicja funkcji składowej Function poza ciałem klasy Class musi mieć postać a) typ_zwracany Class.Function(){} b) typ_zwracany Class::Function(){} c) typ_zwracany Class::Function(){} const d) Funkcji składowej nie wolno definiować poza ciałem klasy 3
4 Programowanie strukturalne Program jest zestawem zadań do wykonania Jest rozumiany jako seria procedur, działających na danych Procedura (funkcja, metoda) ciąg następujących po sobie instrukcji Zadania skomplikowane są dzielone na prostsze, aż do momentu, kiedy wszystkie są zrozumiałe 4
5 Cechy charakterystyczne : 1. Dane są odseparowane od procedur i nie ma możliwości ich połączenia 2. Programista musi pamiętać, która funkcja wywołuje inne funkcje i które dane są zmieniane 3. Powtarzanie fragmentów kodu 4. Koncentruje się na czynnościach 5. Problemy z połączeniem zmiennych różnych typów 6. Problemy z modyfikacjami kodu i rozbudową programu 5
6 Przykład: Obliczenie średniego wynagrodzenia pracownika 1. Policzenie liczby pracowników 2. Obliczenie zarobków poszczególnych osób (odczytanie danych każdego pracownika <otwarcie pliku danych, odszukanie właściwych danych, odczyt danych>, dodanie jego pensji do sumy, przejście do kolejnej osoby) 3. Zsumowanie wszystkich pensji 4. Podzielenie sumy przez liczbę pracowników 6
7 Programowanie zorientowane obiektowo 1. Jego zadaniem jest modelowanie obiektów (rzecz lub koncepcja), a nie danych 2. Określenie właściwości obiektu (atrybut, funkcja) 3. Zdefiniowanie czynności wykonywanych przez obiekt 4. Określenie związków między obiektami 7
8 Cechy programowania zorientowanego obiektowo 1. Funkcjonalność - program musi być zawsze zorientowany na klienta. 2. Elastyczność programista musi przewidywać zmieniające się warunki eksploatacji oprogramowania i wymagania klienta 3. Wzorce projektowe wielokrotne wykorzystanie tego samego kodu 4. Hermetyzacja używana w celu oddzielenia fragmentów kodu, które ulegają zmianom od tych, które pozostają takie same 8
9 Podstawy programowania zorientowanego obiektowo Hermetyzacja (ukrywanie danych) wszystkie właściwości obiektu są zgrupowane w jego wnętrzu obiekt jest traktowany jak czarna skrzynka. Oddziela dane od aplikacji. C++ obsługuje hermetyzację poprzez możliwość tworzenia typów danych zdefiniowanych przez użytkownika KLASY. Użytkownicy dobrze zdefiniowanej klasy nie mają wpływu na jej wewnętrzne działanie potrafią tylko z niej korzystać. 9
10 Podstawy programowania zorientowanego obiektowo Dziedziczenie (w celu ponownego wykorzystania) C++ umożliwia deklarowanie nowych typów stanowiących rozszerzenie typów już zadeklarowanych. Polimorfizm różne obiekty wykonują podobne czynności W C++ polimorfizm klas i polimorfizm obiektów 10
11 Klasa - grupa zmiennych, często różnych typów wraz z zestawem funkcji (czynności) odnoszących się do nich. Obiekt - indywidualny element klasy UML Unified Modelling Language Nazwa klasy Samochód Cecha 1 Rok produkcji Cecha 2 Nr VIN Funkcja 1 Funkcja 2 Start Hamowanie 11
12 Analiza tekstowa Rzeczowniki określają klasy, czasowniki metody Klasy: drzwiczki, pilot, szczekanie psa, przycisk na pilocie Metody: otwórz, zamknij, sprawdź czy drzwiczki są otwarte 12
13 Typ wyliczeniowy // Typ wyliczeniowy 01 #include<iostream> using namespace std; enum Kolor { Trefl, Karo, Kier, Pik }; int main() { Kolor karta_1=pik; Kolor karta_2=karo; Kolor karta_3=trefl; Kolor karta_4=kier; cout<<karta_1<<"\t"<<karta_2<<"\t" <<karta_3<<"\t"<<karta_4<<endl; cout<<sizeof(karta_1)<<endl; } system("pause"); return 0; 13
14 Press any key to continue... // Tablice wyliczeniowe #include<iostream> using namespace std; enum Karta { Dwojka=2, Trojka, Czworka, Piatka, Szostka, Siodemka, Osemka, Dziewiatka, Dziesiatka, Walet, Dama, Krol, As}; 14
15 void main() { Karta Losuj[14]= { Dwojka, Trojka, Czworka, Piatka, Szostka, Siodemka, Osemka, Dziewiatka, Dziesiatka, Walet, Dama, Krol, As }; 15
16 //Losuj[14]=Losuj[3]+Losuj[6]; for (int i=0; i<14 ; i++) {cout<<losuj[i]<<endl;} } int wynik=losuj[3]+losuj[6]; cout<<wynik<<endl; system("pause"); return; Press any key to continue... 16
17 Rzutowanie w C++ Mechanizm pozwalający na tymczasową lub stałą zmianę interpretacji obiektu przez kompilator nie powoduje rzeczywistej zmiany samego obiektu. Wymusza na kompilatorze interpretację obiektu w sposób przewidziany przez programistę. Dostępne operatory rzutowania: 1. static_cast 2. dynamic_cast 3. reinterpret_cast 4. const_cast typ_docelowy wynik = typ_rzutowania<typ_docelowy>(obiekt_do_rzutowania); 17
18 reinterpret_cast konwersja wskaźników między dowolnymi, nawet niepowiązanymi typami danych wymusza na kompilatorze dowolne rzutowanie - NIEZALECANE. const_cast wyłączenie modyfikatora dostępu const w obiekcie użycie może doprowadzić do nieprzewidzianego zachowania obiektu. 18
19 // Rzutowanie static_cast_1 #include<iostream> using namespace std; enum Karta { Dwojka=2, Trojka, Czworka, Piatka, Szostka, Siodemka, Osemka, Dziewiatka, Dziesiatka, Walet, Dama, Krol, As}; 19
20 void main() { Karta Losuj[15]= { Dwojka, Trojka, Czworka, Piatka, Szostka, Siodemka, Osemka, Dziewiatka, Dziesiatka, Walet, Dama, Krol, As }; Losuj[13]=static_cast<Karta>(Losuj[3]+Losuj[6]); Losuj[14]=static_cast<Karta>(Losuj[3]-Losuj[6]); 20
21 } for (int i=0; i<15 ; i++) {cout<<losuj[i]<<endl;} system("pause"); return; Press any key to continue... 21
22 // Rzutowanie static_cast #include<iostream> using namespace std; int main() { char napis[15]={"abcdefgh"}; int a=napis[0]; cout<<a<<endl; napis[9]=char(a+a+1); cout<<napis[9]<<endl; cout<<"uzycie static_cast\n"; a=static_cast<int>(napis[0]); napis[10]=static_cast<char>(2*a+1); cout<<napis[10]<<endl; } system("pause"); return 0; 65 â Uzycie static_cast â Press any key to continue... 22
23 // Rzutowanie dynamic_cast #include<iostream> using namespace std; int main() { double pi=3.1415; double e=2.71; int suma=pi+e; cout<<suma<<endl; /*int suma1=dynamic_cast<int>(e)+dynamic_cast<int>(pi); cout<<suma1<<endl;*/ } system("pause"); return 0; 5 Press any key to continue... 23
24 1>dynamic.cpp 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_01_05\w_01_05\dynamic.cpp(14) : error C2680: 'int' : invalid target type for dynamic_cast 1> target type must be a pointer or reference to a defined class 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_01_05\w_01_05\dynamic.cpp(15) : error C2680: 'char' : invalid target type for dynamic_cast 1> target type must be a pointer or reference to a defined class 1>Build log was saved at "file://e:\praca\dydaktyka\programowanie obiektowe\visual Project\Wykład 2016\W_01_05\W_01_05\Debug\BuildLog.htm" 1>W_01_05-2 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== 24
25 // Rzutowanie static_cast #include<iostream> using namespace std; int main() { double pi=3.1415; double e=2.71; int suma=pi+e; cout<<suma<<endl; int suma1=reinterpret_cast<int>(e)+reinterpret_cast<int>(pi); cout<<suma1<<endl; } system("pause"); return 0; 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_01_07\w_01_07\static.cpp(12) : error C2440: 'reinterpret_cast' : cannot convert from 'double' to 'int' 1> Conversion is a valid standard conversion, which can be performed implicitly or by use of static_cast, C-style cast or function-style cast 25
26 // Rzutowanie const_cast #include<iostream> using namespace std; int main() { const double pi=3.1415; //pi+=2; double pi_1=const_cast<double>(pi); cout<<pi<<endl; } system("pause"); return 0; 1>e:\praca\dydaktyka\programowanie obiektowe\visual project\wykład 2016\w_01_09\w_01_09\const.cpp(10) : error C2440: 'const_cast' : cannot convert from 'const double' to 'double' 1> Conversion is a valid standard conversion, which can be performed implicitly or by use of static_cast, C-style cast or function-style cast 26
27 Wskaźniki Zmienna przechowująca dane o adresie innej zmiennej określonego typu. Deklarowanie wskaźnika w C++ long *pnumber long* pnumber long *pnumber; number = 56; pnumber = &number &number Adres 1006 pnumber
28 // Użycie wskaźników #include <iostream> using namespace std; int main() { long *pnumber=null; //Deklaracja inicjalizacja wskaźnika long number1=44, number2=88; pnumber=&number1; //adres do wskaźnika *pnumber+=11; //number cout << endl << " number1 = " << number1 << " pnumber = " << hex << pnumber; pnumber = &number2; //zmiana adresu number1 = *pnumber*10; //number2 * 10 cout << endl; cout<< " number1 = " << dec << number1 << " pnumber = " << hex << *pnumber << " *pnumber = " << dec <<*pnumber << endl; system("pause"); return 0; } 28
29 number1 = 55 pnumber = 0012FF54 number1 = 880 pnumber = 58 *pnumber = 88 Aby kontynuować, naciśnij dowolny klawisz... 29
30 // Użycie wskaźników #include <iostream> using namespace std; int main() { double zmienna_double=4.6; double *pdouble=0; pdouble=&zmienna_double; cout << pdouble <<endl; cout << *pdouble <<endl; pdouble=new double(23.5); cout << pdouble <<endl; cout << *pdouble <<endl; double nowa_zmienna=*pdouble; cout <<nowa_zmienna<<endl; pdouble=new double; 30
31 cout << pdouble <<endl; cout << *pdouble <<endl; *pdouble= 34.56; cout << pdouble <<endl; cout << *pdouble <<endl; cout<<endl; } 0024FB FB e system ("pause"); return 0; Press any key to continue... 31
Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące.
Programowanie II prowadzący: Adam Dudek Lista nr 8 Dziedziczenie : Dziedziczenie to nic innego jak definiowanie nowych klas w oparciu o już istniejące. Jest to najważniejsza cecha świadcząca o sile programowania
Wartości domyślne, szablony funkcji i klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Programowanie 2. Język C++. Wykład 2.
2.1 Definicja, deklaracja, wywołanie funkcji.... 1 2.2 Funkcje inline... 4 2.3 Przekazanie do argumentu funkcji wartości, adresu zmiennej.... 5 2.4 Wskaźniki do funkcji... 8 2.5 Przeładowanie funkcji...
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
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 w C++ Wykład 11
Programowanie obiektowe w C++ Wykład 11 dr Lidia Stępień Akademia im. Jana Długosza w Częstochowie L. Stępień (AJD) Programowanie obiektowe w C++ 1 / 34 STL - rys historyczny utworzona została w 1994 r.
PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.
PROGRAMOWANIE OBIEKTOWE W C++ - cz 1 Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory. Program komputerowy opisuje w pewien sposób rzeczywisto.
Skł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 Konstruktory i destruktory
Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych
Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną,
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
wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i
Ćwiczenia IV - Kontenery (pojemniki)
Ćwiczenia IV - Kontenery (pojemniki) 28 października 2010 Kontener Kontener jest to obiekt który zawiera w sobie obiekty innej klasy i ma zdefiniowane metody nimi zarządzające. Jednym z najprostszych przykładów
Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji
Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Instrukcja do pracowni specjalistycznej z przedmiotu Obiektowe programowanie aplikacji Kod przedmiotu: TS1C410201
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
Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this
Wstęp do programowania obiektowego WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this 1 Nazwa typu Rozmiar Zakres Uwagi bool 1 bit wartości true albo false stdbool.h TYPY ZNAKOWE
Funkcje składowe (metody)
Funkcje składowe (metody) class Punkt int x, y; void Rysuj() /* rysowanie */ ; class Punkt int x, y; void Rysuj(); ; void Punkt::Rysuj() /* rysowanie */ definicja funkcji wewnątrz ciała klasy funkcja otwarta
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Standard Template Library. Część 1. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.
Skł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
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.
PROGRAMOWANIE OBIEKTOWE W C++ cz. 2 Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów. Dziedziczenie Dziedziczenie jest to technika pozwalaj c na definiowanie nowej klasy przy wykorzystaniu
Plik klasy. h deklaracje klas
Plik klasy. h deklaracje klas KLASY DLA PRZYKŁADÓW Z POLIMORFIZMEM enum dim r1 = 1, r2, r3; class figura public: static int const maxliczbafigur; = 100; static int liczbafigur; dim rn; rodzaj przestrzeni
Programowanie 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
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
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;
Praca na wielu bazach danych część 2. (Wersja 8.1)
Praca na wielu bazach danych część 2 (Wersja 8.1) 1 Spis treści 1 Analizy baz danych... 3 1.1 Lista analityczna i okno szczegółów podstawowe informacje dla każdej bazy... 3 1.2 Raporty wykonywane jako
PERSON Kraków 2002.11.27
PERSON Kraków 2002.11.27 SPIS TREŚCI 1 INSTALACJA...2 2 PRACA Z PROGRAMEM...3 3. ZAKOŃCZENIE PRACY...4 1 1 Instalacja Aplikacja Person pracuje w połączeniu z czytnikiem personalizacyjnym Mifare firmy ASEC
Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )
Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,
Do czego służą klasy?
KLASY Dorota Pylak 2 Do czego służą klasy? W programowaniu obiektowym posługujemy się obiektami. Obiekty charakteryzują się: cechami (inaczej - atrybutami lub stanami) operacjami, które na nich można wykonywać
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
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
Wskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika
Wyklad 6 Typy i zmienne: wskaznikowe, referencyjne Funkcje deklaracja, definicja. Zasieg deklaracji i widocznosc zmiennych Przekazywanie parametrów przez wartosc, referencje i wskaznik Przekazywanie wyniku
Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA
Wersja 5.1.9 Spis treści Rozdział 1 1.1 1.1.1 1.1.2 1.2 1.3 1.4 1.5 I Konfiguracja... 1-1 OID świadczeniodawcy... 1-2 Dodanie... instytucji zewnętrznej 1-4 Dodanie... zlecenia 1-11 Pobranie... materiału
Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
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
class A { public: A(): i(5), s("abc") { } int i; string s; };
UWAGA! PoniŜej są pytania z egzaminu, z zaznaczonymi poprawnymi odpowiedziami. Przy niektórych z nich napisałem jakieś słowo komentarza (czemu tak, a nie inaczej...). Przypominam, Ŝe zasada punktacji była
Język C++ wykład VI. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VI. dr Jarosław Mederski.
- - uzupełnienie notatek: dr Jerzy Białkowski - - 1-2 - - - 1 #include 2 #include 3 # include 4 using namespace std ; 5 6 class Punkt { 7 8 private : 9 double
Podstawy 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
1. PODMIOTEM ŚWIADCZĄCYM USŁUGI DROGĄ ELEKTRONICZNĄ JEST 1) SALESBEE TECHNOLOGIES SP. Z O.O. Z SIEDZIBĄ W KRAKOWIE, UL.
REGULAMIN ŚWIADCZENIA USŁUG DROGĄ ELEKTRONICZNĄ W ZAKRESIE UDOSTĘPNIANIA MOŻLIWOŚCI PRZYSTĄPIENIA DO UMÓW UBEZPIECZENIA GRUPOWEGO ZAWARTYCH Z LINK4 S.A. ORAZ OBSŁUGI PŁATNOŚCI ONLINE 1. PODMIOTEM ŚWIADCZĄCYM
Informatyka, I stopień. Programowanie (PRO300.1)
Uniwersytet Śląski w Katowicach str. 1 Kierunek i poziom studiów: Informatyka, I stopień Sylabus modułu: Programowanie (PRO0.1) Nazwa wariantu modułu (opcjonalnie): 1. Informacje ogólne koordynator modułu
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:
Bazy danych. Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15
Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 9/15 Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego
API transakcyjne BitMarket.pl
API transakcyjne BitMarket.pl Wersja 20140314 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Odpowiedzi serwera... 3 1.5. Przykładowy
Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING
Instrukcja numer PING Pracownia internetowa w każdej szkole Opiekun pracowni internetowej SBS 2003 PING Poniższe rozwiązanie opisuje, jak zapisywać i odtwarzać obrazy całych dysków lub poszczególne partycje
1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.
1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja
WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH
WYMAGANIA EDUKACYJNE I KRYTERIA OCENIANIA Z PRZEDMIOTU PROGRAMOWANIE APLIKACJI INTERNETOWYCH Klasa: 3TIR - Technik informatyk Program: 351203 Wymiar: 4 h tygodniowo Podręcznik: Kwalifikacja E.14 Programowanie
Podczas 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.
Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18
Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18 Literatura Języki i paradygmaty programowania Wykład 2 1. C. S. Horstman, G. Cornell, core Java 2 Podstawy, Helion 2003
Projektowanie systemów informacyjnych: język UML
Programowanie obiektowe w C++ Projektowanie systemów informacyjnych: język UML mgr inż. Witold Dyrka 4.01.2010 Projektowanie systemów informacyjnych: język UML Projektowanie systemów informacyjnych wprowadzenie
Aplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Visual Studio 2005 jest
Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski
Bazy danych II Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 11 Zastosowanie PHP do programowania aplikacji baz danych Oracle Wsparcie programowania w PHP baz danych Oracle Oprócz możliwego
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
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,
Wykład 1. Program przedmiotu. Programowanie Obiektowe (język C++) Literatura. Program przedmiotu c.d.:
Program przedmiotu Programowanie Obiektowe (język C++) Wykład 1. Definiowanie prostych klas. Przykłady. Przypomnienie: typy referencyjne, domyślne wartości argumentów, przeciąŝanie funkcji. Konstruktory,
Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
Tomasz Greszata - Koszalin 2012 - http://greszata.pl
T: Uprawnienia do udostępnionych folderów. W systemie Windows XP folder udostępniać mogą tylko członkowie grup Administratorzy i Użytkownicy Zaawansowani. Podczas udostępniania określamy nazwę zasobu,
InsERT GT Własne COM 1.0
InsERT GT Własne COM 1.0 Autor: Jarosław Kolasa, InsERT Wstęp... 2 Dołączanie zestawień własnych do systemu InsERT GT... 2 Sposób współpracy rozszerzeń z systemem InsERT GT... 2 Rozszerzenia standardowe
Wykład 4 Wybrane zagadnienia programowania w C++
Wykład 4 Wybrane zagadnienia programowania w C++ Przykład programu obiektowego Dziedziczenie polimorfizm i metody wirtualne Wzorce (szablony) funkcji Wzorce klas 2016-01-03 Bazy danych-1 W4 1 Dziedziczenie
class Samochod { void Ruch(); }; class Amfibia : public Samochod { void Ruch(); // amfibie pływają };
class Samochod void Ruch(); ; class Amfibia : public Samochod void Ruch(); // amfibie pływają ; 1 Rzutowanie w C++ Mechanizm pozwalający na tymczasową lub stałą zmianę interpretacji obiektu przez kompilator
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)
Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin 2015-10-16
Chmura obliczeniowa do przechowywania plików online Anna Walkowiak CEN Koszalin 2015-10-16 1 Chmura, czyli co? Chmura obliczeniowa (cloud computing) to usługa przechowywania i wykorzystywania danych, do
Wstęp do programowania obiektowego, wykład 7
Wstęp do programowania obiektowego, wykład 7 Klasy i funkcje abstrakcyjne Przeciążanie funkcji Definiowanie i interpretacja złożonych typów danych w C++ Wskaźniki do funkcji 1 KLASA ABSTRAKCYJNA 2 Klasa
Przedmiot: Projektowanie dokumentów WWW. Laboratorium 3: Strona domowa cz. III Formularze. Opracował: Maciej Chyliński
Przedmiot: Projektowanie dokumentów WWW Laboratorium 3: Strona domowa cz. III Formularze Opracował: Maciej Chyliński Wstęp W naszym Ŝyciu wypełniamy dziesiątki, a nawet tysiące formularzy. Wynika to z
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Paradygmaty programowania
Paradygmaty programowania Programowanie generyczne w C++ Dr inż. Andrzej Grosser Cz estochowa, 2016 2 Spis treści 1. Zadanie 3 5 1.1. Wprowadzenie.................................. 5 1.2. Obiekty funkcyjne................................
Szablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Materiał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
Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania).
Strategia rozwoju kariery zawodowej - Twój scenariusz (program nagrania). W momencie gdy jesteś studentem lub świeżym absolwentem to znajdujesz się w dobrym momencie, aby rozpocząć planowanie swojej ścieżki
INSTRUKCJA WebPTB 1.0
INSTRUKCJA WebPTB 1.0 Program WebPTB wspomaga zarządzaniem budynkami w kontekście ich bezpieczeństwa fizycznego. Zawiera zestawienie budynków wraz z ich cechami fizycznymi, które mają wpływ na bezpieczeństwo
Identyfikacje typu na etapie. wykonania (RTTI)
Identyfikacje typu na etapie (Run Time Type Identification) wykonania (RTTI) Może powstać taka sytuacje, gdy w trakcie kompilacji typ obiektu nie jest znany. C++ implementuje polimorfizm poprzez hierarchie
Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD
Oprogramowanie klawiatury matrycowej i alfanumerycznego wyświetlacza LCD 1. Wprowadzenie DuŜa grupa sterowników mikroprocesorowych wymaga obsługi przycisków, które umoŝliwiają uŝytkownikowi uruchamianie
Warunki Oferty PrOmOcyjnej usługi z ulgą
Warunki Oferty PrOmOcyjnej usługi z ulgą 1. 1. Opis Oferty 1.1. Oferta Usługi z ulgą (dalej Oferta ), dostępna będzie w okresie od 16.12.2015 r. do odwołania, jednak nie dłużej niż do dnia 31.03.2016 r.
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ą
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
PL/SQL. Zaawansowane tematy PL/SQL
PL/SQL Zaawansowane tematy PL/SQL Cele Przypomnienie kursorów Przypomnienie procedur i funkcji składowanych Poznanie pakietów składowanych 2 Bazę danych Oracle możemy traktować jakby była złożona z dwóch
Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT
Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT Spis treści Instrukcja użytkownika systemu Ognivo2... 3 Opis... 3 Konfiguracja programu... 4 Rejestracja bibliotek narzędziowych... 4 Konfiguracja
Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 14 Katarzyna Grzelak 3 czerwca 2019 K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27 Na ostatnim wykładzie: Konstruktor standardowy (domyślny) to taki, który nie ma żadnych argumentów
WYKŁAD 8. Postacie obrazów na różnych etapach procesu przetwarzania
WYKŁAD 8 Reprezentacja obrazu Elementy edycji (tworzenia) obrazu Postacie obrazów na różnych etapach procesu przetwarzania Klasy obrazów Klasa 1: Obrazy o pełnej skali stopni jasności, typowe parametry:
Utrzymanie aplikacji biznesowych SI PSZ
Utrzymanie aplikacji biznesowych SI PSZ Grzegorz Dziwoki/Dawid Batko Inżynier Systemowy, Sygnity S.A. Kwiecień 2014 r. Plan prezentacji Aplikacje utrzymywane w CPD MPiPS Kolokacja Syriusz Std w CPD MPiPS
REGULAMIN PRZEPROWADZANIA OCEN OKRESOWYCH PRACOWNIKÓW NIEBĘDĄCYCH NAUCZYCIELAMI AKADEMICKIMI SZKOŁY GŁÓWNEJ HANDLOWEJ W WARSZAWIE
Załącznik do zarządzenia Rektora nr 36 z dnia 28 czerwca 2013 r. REGULAMIN PRZEPROWADZANIA OCEN OKRESOWYCH PRACOWNIKÓW NIEBĘDĄCYCH NAUCZYCIELAMI AKADEMICKIMI SZKOŁY GŁÓWNEJ HANDLOWEJ W WARSZAWIE 1 Zasady
Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x
Wdrożenie modułu płatności eservice dla systemu Virtuemart 2.0.x Wersja 02 Styczeń 2016 Centrum Elektronicznych Usług Płatniczych eservice Sp. z o.o. Spis treści 1. Wstęp... 3 1.1. Przeznaczenie dokumentu...
string Rodzaj[4]= {"TV ", "wieza ", "DVD ", "kino "}; string Producent[4]={"Phillips", "Sony ", "Sanyo ", "Samsung "};
// Referencja #include #include using namespace std; string Rodzaj[4]= "TV ", "wieza ", "DVD ", "kino "; string Producent[4]="Phillips", "Sony ", "Sanyo ", "Samsung "; class Sprzet_AV
INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56
INSTRUKCJA DO PROGRAMU LICZARKA 2000 v 2.56 Program Liczarka 2000 służy do archiwizowania i drukowania rozliczeń z przeprowadzonych transakcji pieniężnych. INSTALACJA PROGRAMU Program instalujemy na komputerze
Założenia prognostyczne Wieloletniej Prognozy Finansowej
Załącznik nr 3 do uchwały o Wieloletniej Prognozie Finansowej Założenia prognostyczne Wieloletniej Prognozy Finansowej Uwagi ogólne Przewidywana w nowej ustawie o finansach publicznych wieloletnia prognoza
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,
Regulamin serwisu internetowego ramowka.fm
Regulamin serwisu internetowego ramowka.fm Art. 1 DEFINICJE 1. Serwis internetowy serwis informacyjny, będący zbiorem treści o charakterze informacyjnym, funkcjonujący pod adresem: www.ramowka.fm. 2. Administrator
Technologie 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ść
SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI
SKRÓCONA INSTRUKCJA OBSŁUGI ELEKTRONICZNEGO BIURA OBSŁUGI UCZESTNIKA BADANIA BIEGŁOŚCI 1. CO TO JEST ELEKTRONICZNE BIURO OBSŁUGI UCZESTNIKA (EBOU) Elektroniczne Biuro Obsługi Uczestnika to platforma umożliwiająca
elektroniczna Platforma Usług Administracji Publicznej
elektroniczna Platforma Usług Administracji Publicznej A Instrukcja użytkownika Instalacja usług wersja 1.1 Ministerstwo Spraw Wewnętrznych i Administracji ul. Batorego 5, 02-591 Warszawa www.epuap.gov.pl
System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy
System zarządzania bazą danych (SZBD) Proces przechodzenia od świata rzeczywistego do jego informacyjnej reprezentacji w komputerze nazywać będziemy modelowaniem, a pewien dobrze zdefiniowany sposób jego
Programowanie w C++ Wykład 12. Katarzyna Grzelak. 28 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 12 Katarzyna Grzelak 28 maja 2018 K.Grzelak (Wykład 12) Programowanie w C++ 1 / 27 Klasy cd K.Grzelak (Wykład 12) Programowanie w C++ 2 / 27 Klasy - powtórzenie Klasy typy definiowane
Kancelaris - Zmiany w wersji 2.50
1. Listy Kancelaris - Zmiany w wersji 2.50 Zmieniono funkcję Dostosuj listę umożliwiając: o Zapamiętanie wielu widoków dla danej listy o Współdzielenie widoków między pracownikami Przykład: Kancelaria
Owad():waga(1),jadowitosc(false) {cout<<"konstruktor domyslny owada\n";}
// Wskaźniki #include using namespace std; class Owad int waga; bool jadowitosc; Owad():waga(1),jadowitosc(false) cout
Tekst ozdobny i akapitowy
Tekst ozdobny i akapitowy Tekst ozdobny poddaje się manipulacjom, kształtowaniu, zniekształcaniu i tworzeniu efektów, do wyróŝnienia pojedynczych wyrazów lub krótkich wersów, takich jak nagłówki, logo
Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy
Pierwsze kroki Krok 1. Uzupełnienie danych własnej firmy Przed rozpoczęciem pracy z programem, należy uzupełnić informacje o własnej firmie. Odbywa się to dokładnie tak samo, jak uzupełnianie informacji
1. 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
Skrócony podręcznik obsługi dla programu Wizualna poczta głosowa w wersji 8.5 lub nowszej
QUICK START GUIDE Skrócony podręcznik obsługi dla programu Wizualna poczta głosowa w wersji 8.5 lub nowszej Czym jest Wizualna poczta głosowa? 2 Wizualna poczta głosowa w telefonie 2 Dostęp do Wizualna
PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV
INDUSTRIAL MP3/WAV imp3_wav AUTOMATYKA PRZEMYSŁOWA PRZEMYSŁOWY ODTWARZACZ PLIKÓW MP3 i WAV ZASTOSOWANIE: - systemy powiadamiania głosowego w przemyśle (linie technologiczne, maszyny) - systemy ostrzegania,
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 17 1. Typy i zmienne Jak wiemy, komputer
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)
emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych zbudowanym w oparciu