Programowanie obiektowe i zdarzeniowe wykład 1 – Wprowadzenie do programowania zdarzeniowego Wymagania wstępne: Znajomość podstaw programowania. Efekty kształcenia: Umiejętność tworzenia prostych aplikacji okienkowych w środowisku Microsoft Visual Studio, wykorzystujących techniki programowania obiektowego w języku C#. Treści kształcenia: 1. Wprowadzenie do WPF. Tworzenie interfejsu użytkownika. 2. Pojecie klasy i obiektu. Składniki klas – pola i metody. Konstruktory. 3. Okna dialogowe i kontrolki zawartości. Wiązanie danych. 4. Kompozycja. Kolekcje. Kontrolki list. 5. Dziedziczenie. 6. Polimorfizm. 7. Wyjątki. Style. 8. Grafika i animacja w WPF. Oprogramowanie: Microsoft Visual Studio 2008 lub nowsze (może być w wersji Express) wraz z dostępnym w nim systemem pomocy (MSDN). Dodatkowa literatura: 1. Adam Boduch, Wstęp do programowania w języku C#, Helion 2. Krzysztof Rychlicki-Kicior, Tworzenie aplikacji graficznych w .NET 3.0, Helion 3. Matthew MacDonald, Pro WPF in C# 2008: Windows Presentation Foundation with .NET 3.5 1/34
34
Embed
wykład 1 – Wprowadzenie do programowania zdarzeniowegoaragorn.pb.bialystok.pl/~tabedzki/poiz1.pdf · WPF – Windows Presentation Foundation • Interfejs programowania aplikacji
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Programowanie obiektowe i zdarzeniowewykład 1 – Wprowadzenie do programowania zdarzeniowego
Wymagania wstępne: Znajomość podstaw programowania.Efekty kształcenia: Umiejętność tworzenia prostych aplikacji okienkowych w środowisku Microsoft Visual Studio, wykorzystujących techniki programowania obiektowego w języku C#.Treści kształcenia:
1. Wprowadzenie do WPF. Tworzenie interfejsu użytkownika.2. Pojecie klasy i obiektu. Składniki klas – pola i metody. Konstruktory.3. Okna dialogowe i kontrolki zawartości. Wiązanie danych.4. Kompozycja. Kolekcje. Kontrolki list.5. Dziedziczenie.6. Polimorfizm.7. Wyjątki. Style.8. Grafika i animacja w WPF.
Oprogramowanie: Microsoft Visual Studio 2008 lub nowsze (może być w wersji Express) wraz z dostępnym w nim systemem pomocy (MSDN).Dodatkowa literatura:
1. Adam Boduch, Wstęp do programowania w języku C#, Helion2. Krzysztof Rychlicki-Kicior, Tworzenie aplikacji graficznych w .NET 3.0, Helion3. Matthew MacDonald, Pro WPF in C# 2008: Windows Presentation Foundation with
.NET 3.5
1/34
Co to jest programowanie obiektowe? Co to jest programowanie zdarzeniowe?
Typowa aplikacja konsolowa (w C):
#include "stdio.h"
int main(){
int a, b, c;printf("Podaj pierwszą liczbę: ");scanf("%d", &a);printf("Podaj drugą liczbę: ");scanf("%d", &b);c = a + b;printf("Suma = %d", c);return 0;
}
2/34
Co to jest programowanie obiektowe? Co to jest programowanie zdarzeniowe?
Typowa aplikacja konsolowa (w C++):
#include "iostream"using namespace std;
int main(){
int a, b, c;cout << "Podaj pierwszą liczbę: ";cin >> a;cout << "Podaj drugą liczbę: ";cin >> b;c = a + b;cout << "Suma = " << c;return 0;
}
3/34
Co to jest programowanie obiektowe? Co to jest programowanie zdarzeniowe?
Typowa aplikacja konsolowa (w C#):
using System;
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int a, b, c; Console.Write("Podaj pierwszą liczbę: "); a = int.Parse(Console.ReadLine()); Console.Write("Podaj drugą liczbę: "); b = int.Parse(Console.ReadLine()); c = a + b; Console.Write("Suma = {0}", c); Console.ReadKey(); } }}
4/34
Jak powinna wyglądać aplikacja okienkowa?
Krok pierwszy – tworzenie interfejsu użytkownika (wizualne lub w kodzie).
5/34
Jak powinna wyglądać aplikacja okienkowa?
Krok drugi – obsługa zdarzeń.(chcemy, aby akcja użytkownika spowodowaławykonanie naszego kodu)
6/34
void Oblicz(...){ ... ... ...}
Jak powinna wyglądać aplikacja okienkowa?
Krok trzeci – interakcja z kontrolkami.(chcemy odczytać wprowadzone przezużytkownika dane, wykonać obliczeniai wyświetlić wynik)
7/34
void Oblicz(...){ ... ... ...}
Dlaczego programowanie obiektowe?
• Jest bliższe postrzeganiu świata przez człowieka, który najpierw dostrzega pewne rzeczy, pojęcia (obiekty), a nie wykonywane przez nie czynności (funkcje).
• W programowaniu obiektowym, program to zbiór obiektów posiadających określone cechy (właściwości). Mogą one wchodzić między sobą w interakcje lub łączyć się w bardziej złożone struktury.
• Obiekt to serwer usług – może wykonać pewną operację, jeśli zostanie poproszony. Taka usługa nazywa się metodą obiektu.
• W aplikacji okienkowej obiektami są np. elementy, z których składamy interfejs użytkownika – okno, pola tekstowe, przyciski, etc.
Język C# (C Sharp):• Prosty, nowoczesny, uniwersalny, język zorientowany obiektowo.• Zaprojektowany przez Microsoft, powiązany z platformą .NET.• Programy w nim napisane wymagają środowiska uruchomieniowego (takiego
jak .NET lub Mono).
8/34
WPF – Windows Presentation Foundation
• Interfejs programowania aplikacji okienkowych w systemie Windows.• Wykorzystuje DirectX do rysowania okien i zawartości.• Niezależność od rozdzielczości (oparcie się na „jednostkach
logicznych”=1/96 cala) – umożliwia łatwe skalowanie i dopasowanie do rozdzielczości ekranu.
• Ułożenie kontrolek: dynamiczne, oparte na zawartości (dopasowują się do swojej zawartości oraz dostępnego miejsca).
• Obiektowy model rysowania oparty na grafice wektorowej.• Wsparcie dla mediów i grafiki 3D.• Deklaratywne tworzenie animacji.• Style i szablony – pozwalają dopasowywać formatowanie i sposób renderowania
elementów interfejsu.• Deklaratywne*) tworzenie interfejsu użytkownika (XAML) – pozwala oddzielić
wygląd interfejsu od kodu.
*) Deklaratywne – czyli nie opisujemy kroków prowadzących do rozwiązania (algorytmu), a jedynie samo rozwiązanie. Nie mówmy jak ma być coś zrobione, ale co ma być zrobione.
9/34
XAML – Extensible Application Markup Language
• oparty na XMLu*) (deklaratywny) język do tworzenia interfejsu• definiuje ułożenie (oraz inne cechy) kontrolek w oknie• pozwala na podział pracy pomiędzy programistów i grafików (twórców interfejsu)• XAML nie jest obowiązkowy – to samo można zrobić w kodzie, ale wymaga to
większego nakładu pracy• można korzystać z narzędzi wizualnych do generowania plików XAML (np.
Microsoft Expression Blend)• warto znać XAMLa aby móc w pełni wykorzystywać możliwości WPFa
*) XML – uniwersalny język znaczników do strukturalnego reprezentowania danych
Przykładowe atrybuty okna:• Title – tekst na pasku tytułowym• Height – wysokość• Width – szerokość• FontSize – rozmiar czcionki używanej przez wszystkie kontrolki w oknie
Okno może zawierać tylko jeden element. Aby umieścić ich więcej musimy wykorzystać specjalny element, który posłuży za kontener dla innych kontrolek.
• jest on odpowiedzialny za ułożenie kontrolek w oknie• dba o dopasowanie kontrolek do zawartości• oraz do dostępnego miejsca
• elementy nie powinny mieć ustalonego rozmiaru• nie powinny mieć ustalonego położenia (współrzędnych)• o te aspekty będzie dbał kontener• różne rodzaje (typy) kontenerów będą kierować się różną logiką rozmieszczania
private void Oblicz(object sender, RoutedEventArgs e){ int a = int.Parse(pierwsze.Text); int b = int.Parse(drugie.Text); int c = a + b; wynik.Text = c.ToString();}
• pierwsze.Text – zawartość pola tekstowego• int.Parse(...) – konwersja tekstu na liczbę• c.ToString() – konwersja zmiennej na tekst