Rys. 1. Struktura środowiska.net 3.5. S. Fraser, Pro Visual C++/CLI and the.net 3.5 Platform, Apress, 2009.

Wielkość: px
Rozpocząć pokaz od strony:

Download "Rys. 1. Struktura środowiska.net 3.5. S. Fraser, Pro Visual C++/CLI and the.net 3.5 Platform, Apress, 2009."

Transkrypt

1 5.1 Środowisko.Net Biblioteki.Net Rozszerzenie języka C++, standard C++/CLI Delegacje Zdarzenia Szablon aplikacji CLR Windows Forms Formatka z przyciskiem Formatka z paskiem narzędzi Środowisko.Net ASP.NET, Windows Forms, ADO.NET, Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation, Windows CardSpace, LINQ (Language-INtegrated Query). Rys. 1. Struktura środowiska.net 3.5. S. Fraser, Pro Visual C++/CLI and the.net 3.5 Platform, Apress,

2 5.2 Biblioteki.Net Przykładowe biblioteki słuŝące do budowania aplikacji okienkowych: Microsoft Foundation Classes (MFC), Windows Presentation Foundation (WPF), Windows Forms. Szablony projektów Visual C++: Active Template Library (ATL), pozwala tworzyć aplikacje w oparciu o Component Object Model (COM). Common Language Runtime (CLR) o Windows Forms Application. o Class Library. o Windows Forms Control Library General, standardowy projekt Visual Studio.NET. Microsoft Foundation Classes (MFC), pozwala tworzyć aplikacje WIN32, aplikacje internetowe: o MFC DLL, dynamic link library (DLL), pozwala tworzyć biblioteki dynamiczne korzystające z bibliotek MFC. o MFC ActiveX Control, szablon projektu umoŝliwia tworzenie kontrolek ActiveX korzystających z bibliotek MFC. o MFC ISAPI Extension (Internet Services API), umoŝliwia tworzenie rozszerzeń serwerów WWW w formie bibliotek dynamicznych korzystających z bibliotek MFC. Extended stored procedure, umoŝliwia tworzenie procedur składowanych dla SQL Server a. Win32 project, umoŝliwia tworzenie aplikacji Win32 API. 2

3 5.3 Rozszerzenie języka C++, standard C++/CLI C++/CLI - standard firmy Microsoft, rozszerzenie standardu ISO/IEC 14882:2003 języka C++. W październiku 2003 powstała grupa zadaniowa TG5, pełna nazwa ECMA Technical Committee 39 (TC39) Task Group 5 (TG5), w celu opracowania standardu C++/CLI. Specyfikacja C++/CLI Ecma/TC39-TG5/2004/25, C++/CLI Language Specification, Working Draft 1.5, Jun, Standard C++/CLI opracowano jako element środowiska.net. Język C++ w standardzie C++/CLI rozszerzono o dodatkowe: słowa kluczowe typy klas wyjątki obszary nazw biblioteki mechanizm zarządzania pamięcią na stercie za pomocą garbage collector a. Przykład 1. Aplikacja konsolowa (Visual C++, szablon CLR). #include "stdafx.h" using namespace System; int main(array<system::string ^> ^args) Console::WriteLine(L"program C++/CLI"); // unicode literal string return 0; Typy danych: typy wartościowe (zmienne) o typy wbudowane, o zmienne definiowalne, o enumeratory, typy referencyjne o uchwyty (handles), o interfejsy, o klasy referencyjne, o tablice, o obudowane zmienne (boxed value types). Przykład 2. Definicje w standardzie C++/CLI. handle uchwyt, obiekt referencyjny. Dla dowolnego typu CLI T, T^ h; deklaruje uchwyt h typu T, h wskazuje na obiekt zdefiniowany na stercie CLI (CLI heap). Uchwyt moŝna ponownie przypisać (rebind). Uchwyt musi wskazywać na cały obiekt. heap, CLI - sterta CLI, obszar pamięci będący pod kontrolą zbieracza śmieci (garbage collector a) Garbage collector jest elementem wirtualnej maszyny CLI Virtual Execution System. Obiekty na stercie CLI definiuje się za pomocą słowa kluczowego gcnew. heap, native sterta, obszar pamięci w której obiekty alokowane są dynamicznie za pomocą polecenia new. event zdarzenie, element który umoŝliwia obiektowi lub klasie wysłanie notyfikacji. 3

4 Składnia: uchwyt Programowanie 2. Język C++. Wykład 5. typ_uchwytu ^ nazwa_uchwytu; ^ - ang. carat Przykład 3. Definicja uchwytu typu typu A na stercie. A ^a = gcnew A(); a->f(); a->i; delete a; Przykład 4. Sterta CLI, sterta, operatory new, gcnew. operator new Tworzy instancje klasy (obiekt) na stercie (CLI heap) i zwraca wskaźnik do obiektu. operator gcnew Wprowadzony w.net version 2.0, zastąpił operator new, tworzy instancję typu referencyjnego na stercie i zwraca uchwyt do tej instancji. Typy danych ref class, ref struct określają klasy i struktury typu referencyjnego, których instancje definiowane są na stercie. Obiekty ref class, ref struct są zarządzane przez garbage collector a, mogą posiadać properties (elementy słuŝące do wykonywania operacji na atrybutach klasy/struktury) nie mogą być w relacjach zaprzyjaźnienia muszą być w relacji dziedziczenia public. Typy danych ref class, ref struct posiadają modyfikatory dostępu do swoich elementów: private, public, protected, internal. Typ internal określa dostęp dla elementów danego podzespołu. Podzespół zbiór plików określonych w manifeście podzespołu (MSDN). Przykład 5. Definicja klasy ref, struktury ref. ref class A ; ref struct B; Przykład 6. Definicja zmienej typu string. String^ s1 = "tekst"; Przykład 7. Definicja tablicy. array<typdanych>^ nazwatablicy; array<string^>^ tabstr = gcnew array<string^>(7); 4

5 5.4 Delegacje Programowanie 2. Język C++. Wykład 5. Delegacja jest klasą typy ref (ref class) której moŝna przypisać jedną (typ System::Delegate) lub wiele metod (typ delegacji System::MulticastDelegate) a następnie wywołać te metody. Delegacje są definiowane za pomocą słowa kluczowego delegate. Przykład 1. Definicja delegacji i przypisanie jej adresu funkcji f1(). delegate void pdelegacja(string ^s); pdelegacja ^pf = gcnew pdelegacja(&f1); Przykład 2. Dodanie do delegacji funkcji f2(), usunięcie z delegacji funkcji f1(). pf = pf + gcnew pdelegacja(&f2); // lub pf += gcnew pdelegacja(&f2); pf = pf - gcnew pdelegacja(&f1); // lub pf -= gcnew pdelegacja(&f1); Przykład 3. UŜycie delegacji (aplikacja konsolowa typu CLR, cw05-01-delegacje.cpp) #include "stdafx.h" using namespace System; delegate void pdelegacja(string ^s); // deklaracja delegacji void fg(string ^s) // definicja funkcji globalnej Console::WriteLine(s + " fg(string)"); ref class A public: static void f1a(string ^s); void f2a(string ^s); void f3a(string ^s); ; void A::f1A(System::String ^s) Console::WriteLine(s + " f1a(string)"); void A::f2A(System::String ^s) Console::WriteLine(s + " f2a(string)"); void A::f3A(System::String ^s) Console::WriteLine(s + " f3a(string)"); void main() pdelegacja^ pfun; // utworzenie instacji delegacji pfun = gcnew pdelegacja(&fg); // przypisanie pfun funkcji fg() pfun += gcnew pdelegacja(&a::f1a); // dodanie do delegacji pfun funkcji f1a() A ^a = gcnew A(); pfun = pfun + gcnew pdelegacja(a, &A::f2A); // dodanie do delegacji pfun funkcji f2a() pfun += gcnew pdelegacja(a, &A::f3A); // dodanie do delegacji pfun funkcji f3a() pfun->invoke("tekst1"); // wywołanie delegacji pfun = pfun - gcnew pdelegacja(&a::f1a); // usunięcie z delegacji pfun funkcji f1a() pfun -= gcnew pdelegacja(a, &A::f3A); // usunięcie z delegacji pfun funkcji f3a() Console::WriteLine(" po usunieciu f1a(), f3a()"); pfun("tekst2"); // wywołanie delegacji 5

6 5.5 Zdarzenia event zdarzenie, element który umoŝliwia obiektowi lub klasie wysłanie notyfikacji, Ecma/TC39- TG5/2004/25. Zdarzenie (event) jest uchwytem do typu delegacji poprzedzone modyfikatorem event. Przykład 1. Definicja zdarzenia. delegate void DelegacFun(String ^s); ref class Event public: event DelegacFun^ OnFun; void Fun(String ^s) OnFun(s); ; Przykład 2. Dodanie funkcji do zdarzenia. Event ^evnt; evnt->onfun += gcnew DelegacFun(this, &fun1); evnt->onfun += gcnew DelegacFun(this, &fun2); Przykład 3. Wywołanie zdarzeń. Event ^e = gcnew Event(); e->fun("text1"); 6

7 Przykład 3. Definicja zdarzeń (cw05-02-zdarzenia.cpp). #include "stdafx.h" using namespace System; delegate void DelegacFun(String ^s); // deklaracja klasy typu delegate ref class Event public: event DelegacFun^ OnFun; // event musi być typu delegate void Fun(String ^s) OnFun(s); ; ref class ZmienEvent Event ^evnt; public: ZmienEvent(Event ^e) if (e == nullptr) throw gcnew ArgumentNullException("blad"); evnt = e; evnt->onfun += gcnew DelegacFun(this, &ZmienEvent::fun1); evnt->onfun += gcnew DelegacFun(this, &ZmienEvent::fun2); void UsunFun() evnt->onfun -= gcnew DelegacFun(this, &ZmienEvent::fun2); ; void fun1(string ^s) Console::WriteLine(s + " fun1(string)"); void fun2(string ^s) Console::WriteLine(s + " fun2(string)"); void main() Event ^e = gcnew Event(); ZmienEvent ^devnt = gcnew ZmienEvent(e); e->fun("text1"); // event onfun wywoluje fun1, fun2 devnt->usunfun(); // usunięcie z onfun fun2 Console::WriteLine( "po devnt->usunfun(); "); e->fun("text2"); // event onfun wywoluje fun1 // delete devnt; // delete nie jest wymagane, CLR garbage collector usuwa obiekt // delete e; // delete nie jest wymagane, CLR garbage collector usuwa obiekt 7

8 5.6 Szablon aplikacji CLR Windows Forms Projekt: AplikacjaWf. 1. Struktura katalogowa projektu. 2. Wygląd okna projektu w Microsoft Visual Studio, plik Form1.h[Design]. 8

9 3. Lista typów kontrolek. 9

10 5. Kontrolki Windows Forms 10

11 6. Zawartość i rola plików projektu. Plik stdafx.cpp // stdafx.cpp : source file that includes just the standard includes // AplikacjaWf.pch will be the pre-compiled header // stdafx.obj will contain the pre-compiled type information #include "stdafx.h" Plik stdafx.h // stdafx.h : include file for standard system include files, // or project specific include files that are used frequently, but // are changed infrequently #pragma once // TODO: reference additional headers your program requires here Plik AplikacjaWf.cpp // AplikacjaWf.cpp : main project file. #include "stdafx.h" #include "Form1.h" using namespace AplikacjaWf; [STAThreadAttribute] int main(array<system::string ^> ^args) // Enabling Windows XP visual effects before any controls are created Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); // Create the main window and run it Application::Run(gcnew Form1()); return 0; 11

12 Plik Form1.h #pragma once Programowanie 2. Język C++. Wykład 5. namespace AplikacjaWf // obszar nazw o nazwie AplikacjaWF using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; public ref class Form1 : public System::Windows::Forms::Form // klasa Form1 dziedziczy // od klasy Form public: Form1(void) // konstruktor klasy Form1 InitializeComponent(); protected: ~Form1() // destruktor klasy Form1 if (components) delete components; private: System::ComponentModel::Container ^components; // uchwyt typu Container #pragma region Windows Form Designer generated code void InitializeComponent(void) // definicja metody this->suspendlayout(); // zwieszenie tworzenia okna, zmiana atrybutów this->autoscaledimensions = System::Drawing::SizeF(6, 13); this->autoscalemode = System::Windows::Forms::AutoScaleMode::Font; this->clientsize = System::Drawing::Size(292, 273); this->name = L"Form1"; this->text = L"Form1"; this->resumelayout(false); // uaktualniene wyglądu okna #pragma endregion ; // koniec klasy Form1 // koniec obszaru nazw AplikacjaWf 12

13 5.7 Formatka z przyciskiem Przykład 1. Aplikacja widows forms. Formatka z przyciskiem o nazwie button1. Po naciśnięciu przycisku pojawia się Messagebox typu OK. Dodanie do formatki obiektu o nazwie button1. Własności formatki Form1 i obiektu button1. 13

14 Plik Form1.h #pragma once namespace AplikacjaWf using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; public ref class Form1 : public System::Windows::Forms::Form public: Form1(void) InitializeComponent(); protected: ~Form1() if (components) delete components; private: System::Windows::Forms::Button^ button1; private: System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code void InitializeComponent(void) this->button1 = (gcnew System::Windows::Forms::Button()); this->suspendlayout(); // button1 this->button1->location = System::Drawing::Point(188, 215); this->button1->name = L"button1"; this->button1->size = System::Drawing::Size(75, 23); this->button1->tabindex = 0; this->button1->text = L"button1"; this->button1->usevisualstylebackcolor = true; this->button1->click += gcnew System::EventHandler(this, &Form1::button1_Click); // Form1 this->autoscaledimensions = System::Drawing::SizeF(6, 13); this->autoscalemode = System::Windows::Forms::AutoScaleMode::Font; this->clientsize = System::Drawing::Size(292, 273); this->controls->add(this->button1); this->name = L"Form1"; this->text = L"Form1"; this->resumelayout(false); #pragma endregion private: System::Void button1_click(system::object^ sender, System::EventArgs^ e) ; // koniec klasy Form1 // koniec obszaru nazw AplikacjaWf Plik Form1.h (nowe elementy) private: System::Windows::Forms::Button^ button1; void InitializeComponent(void) this->button1 = (gcnew System::Windows::Forms::Button()); // button1 this->button1->location = System::Drawing::Point(188, 215); this->button1->name = L"button1"; this->button1->size = System::Drawing::Size(75, 23); this->button1->tabindex = 0; this->button1->text = L"button1"; this->button1->usevisualstylebackcolor = true; this->button1->click += gcnew System::EventHandler(this, &Form1::button1_Click); // Form1 this->controls->add(this->button1); private: System::Void button1_click(system::object^ sender, System::EventArgs^ e) 14

15 Plik Form1.h. Implementacja zdarzenia button1_click() private: System::Void button1_click(system::object^ sender, System::EventArgs^ e) MessageBox::Show("Tekst w MsgBoxie", "Nazwa MsgBoxa", MessageBoxButtons::OK, MessageBoxIcon::Information ); 5.8 Formatka z paskiem narzędzi. Przykład 2. Formatka z menu: Plik, Pomoc. Menu Plik, podmenu: Zakoncz. Menu Pomoc, podmenu: O programie. Po wyborze polecenia Zakoncz formatka zamyka się. Po wyborze polecenia O programie. pojawia się message box OK. z informacją o progamie. Plik Form1.h. #pragma once namespace AplikacjaWf using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; public ref class Form1 : public System::Windows::Forms::Form public: Form1(void) InitializeComponent(); protected: ~Form1() if (components) delete components; private: System::Windows::Forms::MenuStrip^ menuglowne; private: System::Windows::Forms::ToolStripMenuItem^ pliktoolstripmenuitem; private: System::Windows::Forms::ToolStripMenuItem^ zakoncztoolstripmenuitem; private: System::Windows::Forms::ToolStripMenuItem^ pomoctoolstripmenuitem; private: System::Windows::Forms::ToolStripMenuItem^ oprogramietoolstripmenuitem; private: System::Windows::Forms::ToolStrip^ paseknarzedziowy; System::ComponentModel::Container ^components; 15

16 #pragma region Windows Form Designer generated code void InitializeComponent(void) this->menuglowne = (gcnew System::Windows::Forms::MenuStrip()); this->pliktoolstripmenuitem = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->zakoncztoolstripmenuitem = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->pomoctoolstripmenuitem = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->oprogramietoolstripmenuitem = (gcnew System::Windows::Forms::ToolStripMenuItem()); this->menuglowne->suspendlayout(); this->suspendlayout(); // menuglowne this->menuglowne->items->addrange( gcnew cli::array<system::windows::forms::toolstripitem^ >(2) this->pliktoolstripmenuitem, this->pomoctoolstripmenuitem); this->menuglowne->location = System::Drawing::Point(0, 0); this->menuglowne->name = L"menuGlowne"; this->menuglowne->size = System::Drawing::Size(292, 24); this->menuglowne->tabindex = 0; this->menuglowne->text = L"menuStrip1"; // pliktoolstripmenuitem this->pliktoolstripmenuitem->dropdownitems->addrange( gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(1) this->zakoncztoolstripmenuitem); this->pliktoolstripmenuitem->name = L"plikToolStripMenuItem"; this->pliktoolstripmenuitem->size = System::Drawing::Size(34, 20); this->pliktoolstripmenuitem->text = L"&Plik"; // zakoncztoolstripmenuitem this->zakoncztoolstripmenuitem->name = L"zakonczToolStripMenuItem"; this->zakoncztoolstripmenuitem->size = System::Drawing::Size(113, 22); this->zakoncztoolstripmenuitem->text = L"Zakoncz"; this->zakoncztoolstripmenuitem->click += gcnew System::EventHandler( this, &Form1::zakonczToolStripMenuItem_Click); // pomoctoolstripmenuitem this->pomoctoolstripmenuitem->dropdownitems->addrange( gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(1) this->oprogramietoolstripmenuitem); this->pomoctoolstripmenuitem->name = L"pomocToolStripMenuItem"; this->pomoctoolstripmenuitem->size = System::Drawing::Size(50, 20); this->pomoctoolstripmenuitem->text = L"Po&moc"; // oprogramietoolstripmenuitem this->oprogramietoolstripmenuitem->name = L"oProgramieToolStripMenuItem"; this->oprogramietoolstripmenuitem->size = System::Drawing::Size(152, 22); this->oprogramietoolstripmenuitem->text = L"O programi&e..."; this->oprogramietoolstripmenuitem->click += gcnew System::EventHandler( this, &Form1::oProgramieToolStripMenuItem_Click); // Form1 this->autoscaledimensions = System::Drawing::SizeF(6, 13); this->autoscalemode = System::Windows::Forms::AutoScaleMode::Font; this->clientsize = System::Drawing::Size(292, 273); this->controls->add(this->paseknarzedziowy); this->controls->add(this->menuglowne); this->mainmenustrip = this->menuglowne; this->name = L"Form1"; this->text = L"Form1"; this->menuglowne->resumelayout(false); this->menuglowne->performlayout(); this->resumelayout(false); this->performlayout(); #pragma endregion private: System::Void zakoncztoolstripmenuitem_click(system::object^ sender, System::EventArgs^ e) Close(); private: System::Void oprogramietoolstripmenuitem_click(system::object^ sender, System::EventArgs^ e) MessageBox::Show("Pomocy!!!!", "Okno Pomocy", MessageBoxButtons::OK, MessageBoxIcon::Information); ; 16

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

Wykład 5 Okna MDI i SDI, dziedziczenie

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

Bardziej szczegółowo

Instrukcja laboratoryjna cz.3

Instrukcja laboratoryjna cz.3 Języki programowania na platformie.net cz.2 2015/16 Instrukcja laboratoryjna cz.3 Język C++/CLI Prowadzący: Tomasz Goluch Wersja: 2.0 I. Utworzenie projektu C++/CLI z interfejsem graficznym WPF 1 Cel:

Bardziej szczegółowo

Wykłady 1, 2. Wstęp do programowania w środowisku Visual C++ Autor: Zofia Kruczkiewicz

Wykłady 1, 2. Wstęp do programowania w środowisku Visual C++ Autor: Zofia Kruczkiewicz Wykłady 1, 2 Wstęp do programowania w środowisku Visual C++ Autor: Zofia Kruczkiewicz 1 Zagadnienia 1. Podstawowe pojęcia 2. Tworzenie aplikacji w Windows Forms 3. Zawartość projektu 4. Podstawowe cechy

Bardziej szczegółowo

Zaawansowane środowiska programistyczne 2009/2010

Zaawansowane środowiska programistyczne 2009/2010 Zaawansowane środowiska programistyczne 2009/2010 Sprawy organizacyjne Forma zajęć Zaliczenie Literatura MFC Co to jest MFC? MFC Microsoft Foundation Classes Opakowanie dla WinAPI, zestaw klas C++ umożliwiających

Bardziej szczegółowo

Wykład 6 Dziedziczenie cd., pliki

Wykład 6 Dziedziczenie cd., pliki Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Szkoła Techniczno Ekonomiczna w Świdnicy. Języki i paradygmaty programowania - 8

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Szkoła Techniczno Ekonomiczna w Świdnicy. Języki i paradygmaty programowania - 8 Wyższa Szkoła Techniczno Ekonomiczna w Świdnicy Języki i paradygmaty programowania - 8 - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzie Windows Forms Windows Form jest narzędziem do tworzenia

Bardziej szczegółowo

Metodyka programowania. Podstawy C#

Metodyka programowania. Podstawy C# Metodyka programowania Podstawy C# Platforma.NET Platforma.NET (.NET Framework) Platforma programistyczna Microsoft, Obejmuje - środowisko uruchomieniowe CLR (Common Language Runtime) - biblioteki klas

Bardziej szczegółowo

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Wykład 12. Programowanie serwera MS SQL 2005 w C# Wykład 12 Programowanie serwera MS SQL 2005 w C# Budowa procedur składowanych w C# Budowa funkcji składowanych w C# Wykorzystanie funkcji składowanych w C# po stronie klienta Tworzenie typów definiowanych

Bardziej szczegółowo

System jest głównym w hierarchii obszarem nazw, zdefiniowanym w bibliotece mscorlib.dll.

System jest głównym w hierarchii obszarem nazw, zdefiniowanym w bibliotece mscorlib.dll. 6.1 Obszary nazw.net... 1 6.2 Obszar nazw System::Windows::Forms... 2 6.3 Klasa Form. Wybrane metody i property.... 3 6.4 Zadarzenia klasy Control... 5 6.5 Formatka z przyciskiem i polem tekstowym... 7

Bardziej szczegółowo

Programowanie obiektowe

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;

Bardziej szczegółowo

Visual C++/CLI. Języki Programowania na Platformie.NET (część 2) Tomasz Goluch. http://www.kaims.pl/ goluch/ goluch@eti.pg.gda.pl

Visual C++/CLI. Języki Programowania na Platformie.NET (część 2) Tomasz Goluch. http://www.kaims.pl/ goluch/ goluch@eti.pg.gda.pl Języki Programowania na Platformie.NET (część 2) http://www.kaims.pl/ goluch/ goluch@eti.pg.gda.pl Zalety i wady pozwala na uaktualnianie aplikacji i komponentów o właściwości platformy.net bez konieczności

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Microsoft IT Academy kurs programowania

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

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

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

Bardziej szczegółowo

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

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

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 9.

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,

Bardziej szczegółowo

Programowanie w środowiskach graficznych. Wykład 3 Język C#

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,

Bardziej szczegółowo

Wykład 4: Klasy i Metody

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

Bardziej szczegółowo

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL /08-00 Henryk Budzisz ZPORR Koszalin 2009 Wykaz ćwiczeo Ćw.1. Przycisk zamykajacy Ćw.2. Strzałka blokowa Uwaga: Ćwiczenia wymagają zainstalowania środowiska programistycznego VisualStudio. Ćwiczenie 1 Zadania:

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Języki i paradygmaty programowania

Języki i paradygmaty programowania Języki i paradygmaty programowania WYDZIAŁ ELEKTRONIKI i INFORMATYKI dr inż. Robert Arsoba Politechnika Koszalińska Wydział Elektroniki i Informatyki POLITECHNIKA KOSZALIŃSKA 2009/2010 Materiały do wykładu

Bardziej szczegółowo

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

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

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego

Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego Programowanie obiektowe i zdarzeniowe wykład 1 Wprowadzenie do programowania zdarzeniowego 1/34 Wymagania wstępne: Znajomość podstaw programowania. Efekty kształcenia: Umiejętność tworzenia prostych aplikacji

Bardziej szczegółowo

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

Programowanie obiektowe zastosowanie języka Java SE

Programowanie obiektowe zastosowanie języka Java SE Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z

Bardziej szczegółowo

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API Programowanie w środowiskach graficznych Wykład 1 OS, Podstawy Windows API 1 WSTĘP 2 Cele wykładu Zaznajomić z podstawowymi mechanizmami programowania zdarzeniowego (w systemie operacyjnym Windows). Nauczyć

Bardziej szczegółowo

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL.04.01.01-00-449/08-00

Henryk Budzisz. materiały przygotowane w ramach projektu ZPORR nr POKL.04.01.01-00-449/08-00 Henryk Budzisz ZPORR Koszalin 2009 Komponenty.NET Struktura platformy.net Język C++/CLI Interfejsy w.net Definiowanie właściwości komponentów Delegacyjny model obsługi zdarzeń Implementacja komponentów

Bardziej szczegółowo

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

Bardziej szczegółowo

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API

Programowanie w środowiskach graficznych. Wykład 1 OS, Podstawy Windows API Programowanie w środowiskach graficznych Wykład 1 OS, Podstawy Windows API 1 WSTĘP 2 Cele wykładu Zaznajomić z podstawowymi mechanizmami programowania zdarzeniowego (w systemie operacyjnym Windows). Nauczyć

Bardziej szczegółowo

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.

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,

Bardziej szczegółowo

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki Język C# pętle, sterowanie, wyjątki Język C# pętle Pętle: while ( ) do { while ( ); for ( ; ; ) foreach ( in

Bardziej szczegółowo

Laboratorium 1 - Programowanie proceduralne i obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe Laboratorium 1 - Programowanie proceduralne i obiektowe mgr inż. Kajetan Kurus 4 marca 2014 1 Podstawy teoretyczne 1. Programowanie proceduralne (powtórzenie z poprzedniego semestru) (a) Czym się charakteryzuje?

Bardziej szczegółowo

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.wroc.pl http://www.tjeleniewski.wstt.edu.pl Treści kształcenia: Paradygmaty

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach

Ćwiczenia laboratoryjne. Oprogramowanie i badanie prostych metod sortowania w tablicach Ćwiczenia laboratoryjne Oprogramowanie i badanie prostych metod sortowania w tablicach Sprawozdanie Na każdym zajęciu laboratoryjnym sporządza się za pomocą edytora Word sprawozdanie. Bazowa zawartość

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki zaprojektowany jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych jest to język pozwalający na programowanie zarówno proceduralne

Bardziej szczegółowo

TEMAT : KLASY POLIMORFIZM

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

Bardziej szczegółowo

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

2. 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ółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008.

Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008. Dwiczenie 5. TEMAT: CEL: Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008. Celem dwiczenia jest poznanie możliwości VS 2008 w zakresie tworzenia i uruchamiania aplikacji z kodem mieszanym

Bardziej szczegółowo

Język C++ wykład VIII

Język C++ wykład VIII 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,

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Programowanie systemów informatycznych laboratorium. Ćw. 3: Akwizycja danych. RS 232 cd.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Programowanie systemów informatycznych laboratorium. Ćw. 3: Akwizycja danych. RS 232 cd. 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawową metodą akwizycji danych z wykorzystaniem protokołu komunikacji RS - 232. 2) Zakres niezbędnych wiadomości - Akwizycja danych - Zapis do

Bardziej szczegółowo

Definicje klas i obiektów. Tomasz Borzyszkowski

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

Bardziej szczegółowo

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania - 1 doc. dr inż. Tadeusz Jeleniewski e-mail: t.jeleniewski@neostrada.pl tadeusz.jeleniewski@pwr.edu.pl http://www.tjeleniewski.wstt.edu.pl Cele przedmiotu Umiejętność zastosowania i oceny przydatności paradygmatów

Bardziej szczegółowo

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

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

Bardziej szczegółowo

Laboratorium 10 - Web Services

Laboratorium 10 - Web Services Laboratorium 10 - Web Services W ramach laboratorium zapoznamy się z koncepcją Web Service ów (odmiana point-to-point Web Service). W kolejnych krokach utworzony zostanie projekt, w którym wykorzystana

Bardziej szczegółowo

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

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

Bardziej szczegółowo

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki

LINQ TO XML. Autor ćwiczenia: Marcin Wolicki LINQ TO XML Celem ćwiczenia jest zapoznanie się z możliwościami przetwarzania dokumentów XML na platformie.net. W toku zadania zostaną przedstawione dwie technologie: LINQ TO XML i XPath. Autor ćwiczenia:

Bardziej szczegółowo

Wykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

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

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe

Programowanie obiektowe i zdarzeniowe Programowanie obiektowe i zdarzeniowe wkład 2 klas i obiekt namespace ConsoleApplication1 // współrzędne punktu int, ; Jak zdefiniować w programie punkt? = 3; = 2; Może tak? // wpisanie informacji Console.WriteLine("

Bardziej szczegółowo

Programowanie 2. Język C++. Wykład 2.

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...

Bardziej szczegółowo

#line #endif #ifndef #pragma

#line #endif #ifndef #pragma 8.1 Instrukcje preprocesorowe... 1 8.1.1 Instrukcja #define... 1 8.1.2 Instrukcje #pragma... 2 8.2 Polecenie _asm... 3 8.3 Polecenie declspec... 4 8.4 Definiowanie makr... 5 8.5 Programy wieloplikowe,

Bardziej szczegółowo

Microsoft Foundation Classes

Microsoft Foundation Classes Microsoft Foundation Classes Piotr Janczyk Co to jest MFC? Jest to podstawowa biblioteka Visual C++, której klasy stanowią szkielet aplikacji dla programów pracujących w systemie Windows. Napisane w języku

Bardziej szczegółowo

Jak Windows zarządza pamięcią?

Jak Windows zarządza pamięcią? Jak Windows zarządza pamięcią? System Windows definiuje dwa typy pamięci, często mylone przez użytkowników. Pamięć fizyczna (pamięc RAM zainstalowana w komputerze) Pamięć widziana przez daną aplikację

Bardziej szczegółowo

Programowanie aplikacji okienkowych Windows

Programowanie aplikacji okienkowych Windows Programowanie aplikacji okienkowych Windows Tworzenie aplikacji okienkowych w C# na bazie.net 2.0 Michał Turek, AGH Kraków W czym piszemy aplikacje.net Microsoft Visual Studio.NET Microsoft [] Express,

Bardziej szczegółowo

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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)

Bardziej szczegółowo

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

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

Bardziej szczegółowo

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl

Usługi WWW. dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Budowa aplikacji sieciowych. Usługi WWW dr Zbigniew Lipiński Instytut Matematyki i Informatyki ul. Oleska 48 50-204 Opole zlipinski@math.uni.opole.pl Usługi WWW W3C Working Group, Web Services Architecture,

Bardziej szczegółowo

Język C++ Różnice między C a C++

Język C++ Różnice między C a C++ Język C++ Różnice między C a C++ Plan wykładu C a C++ Różnice ogólne Typy Deklaracje zmiennych C++ jako rozszerzenie C Domyślne argumenty funkcji Przeciążanie funkcji Referencje Dynamiczny przydział pamięci

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

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,

Bardziej szczegółowo

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152

4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152 Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy

Bardziej szczegółowo

Szablony klas, zastosowanie szablonów w programach

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

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Zaawansowane programowanie w języku C++ Klasy w C++

Zaawansowane programowanie w języku C++ Klasy w C++ Zaawansowane programowanie w języku C++ Klasy w C++ Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń

Bardziej szczegółowo

Projektowanie aplikacji internetowych laboratorium

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

Bardziej szczegółowo

Qt sygnały i designer

Qt sygnały i designer Qt sygnały i designer Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2015 Bogdan

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013 Wykład nr 6 (07.12.2012) dr inż. Jarosław Forenc Rok

Bardziej szczegółowo

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone

Plan wykładu CORBA. Cechy aplikacji rozproszonych. Aplikacje rozproszone Plan wykładu CORBA Wprowadzenie Architektura CORBA IDL język definicji interfejsów ORB Object Request Broker Usługi i POA Aplikacje CORBA tworzenie serwera tworzenie klienta Aplikacje rozproszone Cechy

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

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,

Bardziej szczegółowo

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak Java: otwórz okienko Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU klasy wewnętrzne, lokalne i anonimowe biblioteka AWT zestaw Swing JFrame JPanel komponenty obsługa zdarzeń

Bardziej szczegółowo

I - Microsoft Visual Studio C++

I - Microsoft Visual Studio C++ I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i

Bardziej szczegółowo

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

2. 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ółowo

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: - Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia

Bardziej szczegółowo

Programowanie telefonów z Windows Phone 7, cz. 2

Programowanie telefonów z Windows Phone 7, cz. 2 Programowanie telefonów z Windows Phone 7, cz. 2 Piotr M. Szczypiński Instytut Elektroniki Politechniki Łódzkiej http://www.eletel.p.lodz.pl/pms/ piotr.szczypinski@p.lodz.pl Budynek B9, II piętro, pokój

Bardziej szczegółowo

Operator przypisania. Jest czym innym niż konstruktor kopiujący!

Operator przypisania. Jest czym innym niż konstruktor kopiujący! Operator przypisania Jest czym innym niż konstruktor kopiujący! Domyślnie jest zdefiniowany jako przypisanie składowa po składowej (zatem niekoniecznie bajt po bajcie). Dla klasy X definiuje się jako X&

Bardziej szczegółowo

Programowanie, część I

Programowanie, część I 11 marca 2010 Kontakt Wstęp Informacje organizacyjne Materiał na ćwiczenia Plan wykładu http://www.fuw.edu.pl/~rwys/prog rwys@fuw.edu.pl tel. 22 55 32 263 Materiał na ćwiczenia Informacje organizacyjne

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu

Bardziej szczegółowo

Programowanie obiektowe w C++ Wykład 12

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)

Bardziej szczegółowo

Opis. Wykład: 30 Laboratorium: 30

Opis. Wykład: 30 Laboratorium: 30 Załącznik nr 5 do Uchwały nr 1202 Senatu UwB z dnia 29 lutego 2012 r. Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów

Bardziej szczegółowo

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: 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,

Bardziej szczegółowo

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 O mnie prowadzący wykład: Dariusz Wardowski pokój: A334 dyżur: środa, godz. 10.00 12.00 e-mail: wardd@math.uni.lodz.pl

Bardziej szczegółowo

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016 Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa

Bardziej szczegółowo

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

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

Bardziej szczegółowo

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej

Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

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

Bardziej szczegółowo

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). Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe

Bardziej szczegółowo

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

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;

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

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

Bardziej szczegółowo

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Programowanie obiektowe

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.

Bardziej szczegółowo

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

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

Bardziej szczegółowo

Programowanie w Internecie. Java

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

Bardziej szczegółowo

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści Microsoft Visual C++ 2008 : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop. 2010 Spis treści Co znajdziesz w tej książce? 9 Rozdział 1. Podstawy środowiska Visual C++ 2008 11 Język C++ a.net Framework

Bardziej szczegółowo

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

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

Bardziej szczegółowo

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH ZATWIERDZAM Prorektor ds. dydaktyki i wychowania S Y L A B U S 1 Tytuł (stopień) naukowy oraz imię i nazwisko wykładowcy: dr hab.,

Bardziej szczegółowo

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi. Ekspert radzi mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8 Spis treści 1. Zarys rozwiązania...3 1.2 Case study...3 1.3 Wymagania...3 2. Projekt...3

Bardziej szczegółowo

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych)

I. WSTĘP. Przykład 1. Przykład 2. Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) I. WSTĘP Programowanie czyli tworzenie programów komputerowych (aplikacji komputerowych) Algorytm - sposób na osiągnięcie celu w pewnych ograniczonych krokach. Program komputerowy realizuje zawsze algorytm.

Bardziej szczegółowo

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika

Robert Szmurło. Projektowanie Graficznych Interfejsów Użytkownika Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło 1 Nota autorska. Znaczna część ilustracji w tej prezentacji została zaczerpnięta z wielu źródeł ogólnie dostępnych w internecie. Oto główne

Bardziej szczegółowo