Serwery Aplikacji ASP .NET Web Objects Arkadiusz Popa.

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

C++ wykład 4 ( ) Przeciążanie operatorów.
Klasy abstrakcyjne i interfejsy
Programowanie Wizualne WYKŁAD 5
Programowanie obiektowe
Klasy i obiekty.
Wzorce.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Generics w .NET 2.0 Łukasz Rzeszot.
Programowanie w środowisku sieciowym
formatowanie kodu źródłowego
Programowanie obiektowe w Javie
Licznik template<class Count_Type> class Count { public:
OOP - programowanie zorientowane obiektowo w VB.NET
.NET - możliwości Jarosław Balcer & Jan Góralski.
C++ wykład 5 ( ) Dziedziczenie.
C++ wykład 6 ( ) Polimorfizm.
C++ wykład 2 ( ) Klasy i obiekty.
Wykład 8 Wojciech Pieprzyca
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.

Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Podstawy programowania
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Programowanie obiektowe w C++
Tworzenie aplikacji mobilnych
Programowanie obiektowe III rok EiT
Programowanie obiektowe – zastosowanie języka Java SE
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 7 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Programowanie obiektowe 2013/2014
Język C# .NET Maria DEMS.
Programowanie w języku C++
Kurs języka C++ – wykład 5 ( )
Dobry kod OO Jeżeli zapytamy statystycznego programistę z czym kojarzy mu się dobry kod OO to najprawdopodobniej będzie mówił o wzorcach projektowych.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Wydział Elektroniki Kierunek: AiR Zaawansowane metody programowania Wykład 5.
Kurs języka C++ – wykład 4 ( )
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
K URS JĘZYKA C++ – WYKŁAD 6 ( ) Polimorfizm.
Klasy ( uzupełnienie ). Definicja klasy Klasa jest zbiorem logicznie powiązanych danych i funkcji, przeznaczonych do realizacji konkretnego zadania; Zamknięcie.
Serwery Aplikacji Bezpieczeństwo w Aplikacjach.NET uruchamianych pod IIS Arkadiusz Popa, WMiI, UŁ.
Dziedziczenie wielobazowe. dana klasa może mieć kilka bezpośrednich klas bazowych: dana klasa może mieć kilka bezpośrednich klas bazowych: kolorpołożenie.
Programowanie Zaawansowane
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Zarządzanie stanem w aplikacjach ASP.NET Elżbieta Mrówka-Matejewska
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Programowanie Obiektowe – Wykład 6
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Typy wyliczeniowe, kolekcje
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
(według:
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Programowanie obiektowe – zastosowanie języka Java SE
PGO Interfejsy Michail Mokkas.
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
PGO Dziedziczenie Michail Mokkas.
Zapis prezentacji:

Serwery Aplikacji ASP .NET Web Objects Arkadiusz Popa

NameSpace Wraz ze stworzeniem nowego Web projektu otrzymujemy wygenerowany kod: using System; using System.Collections; using System.Configuration; using System.Data; using System.Web; …. Dzięki temu mamy dostęp do metod z wymienionych przestrzeni nazw. Arkadiusz Popa

Namespace .. Bez podania przestrzeni nazw musielibyśmy pisać np.: wywołanie metod wraz z podaniem ich przestrzeni System.Array.Sort(strArray); System.Web.HttpCookie; Poprzez załączenie do projektu przestrzeni nazw np.: System możemy wywoływać metody/zmienne bezpośrednio: Array.Sort(strArray); HttpCookie; Arkadiusz Popa

Namespace… Przestrzenie nazw pozwalają nam na: ochronę kodu przed konfliktem nazw (namespace collisions) Takie konflikty zdarzają się w dużych projektach, gdzie występuje duża ilość obiektów, gdzie dwa obiekty mogą miec nadane identyczne nazwy. Do stworzenia własnej przestrzeni nazw wystarczy „otoczyć” wybrane klasy blokiem namespace; namespace NazwaPrzestrzeniNazw { class Nazwa Klasy { public static string NazwaMetody() { … } Arkadiusz Popa NazwaProjektu.NazwaPrzestrzeniNazw..NazwaKlasy.NazwaMetody

Namespace … przykład Powyższa deklaracja jest jednoznaczna z : // Nazwa Projektu: WebProjectOne namespace Utils { namespace Types { class Digits { public enum numeric { … } Powyższa deklaracja jest jednoznaczna z : // Nazwa Projektu: WebProjectOne namespace Utils.Types { class Digits { public enum numeric { … } Użycie: WebProjectOne.Utils.Types.Digits.numeric Arkadiusz Popa

Metody dostępu do klas i metod Metoda Opis public Dostęp do wszystkich wartości w klasach i projektach protected Dostęp do wartości w klasie bieżącej i w klasach jej pochodnych private Dostęp do wartości tylko w klasie bieżącej Arkadiusz Popa

Dziedziczenie C# Opis KlasaPochodna : KlasaBazowa Dziedziczy wartości z klasy Bazowej do pochodnej virtual Deklaruje że wartość w klasie bazowej może zostać nadpisana w klasie pochodnej ovveride Deklaracja że nazwa w klasie pochodnej nadpisuje taka samą nazwę w klasie bazowej abstract Deklaruje że wartość musi zostać nadpisana w klasie pochodnej this Wywołanie wartości z obecnej klasy Arkadiusz Popa

Properties Standardowe podejście do set’erów i get’erów: Użycie: class A { public int x; public int GetX(){ return this.x; } public void SetX(int value){ this.x = value; Użycie: A a = new A(); int xpos = GetX(); a.SetX(xpos + 10); Arkadiusz Popa

Properties Properies (Właściwościomierz ) jest wartością pomiędzy polem a metodą. Wygląda jak pole, ale strukture ma podobną do metody. ModyfikatorDostępu Typ NazwaWłaściwości { get { //akcesor do czytania wartości } set { //akcesor do pisania wartości Arkadiusz Popa

Properties Podejście do set’erów i get’erów w C#: Użycie: class A { public int x; public int X{ get { return this.x; } set { this.x = value; Użycie: A a = new A(); int xpos = a.X; // wywołanie a.X.get a.X=xpos + 10; // wywołanie a.X.set Arkadiusz Popa

Propertie – read/write only Property może występować jako tylko do czytania class A { public int x; public int X{ get { return this.x; } Lub tylko do zapisywanie class A { public int x; public int X{ set { this.x = value; } Arkadiusz Popa

Proprties – gdzie jest błąd? Najczęstszą przyczyną błędów jest StackOverflowException wynikający ze złego użycia akcesorów dostępu. class A { public int x; public int X{ get { return this.X; } set { this.X = value; Błąd ten powstaje w wyniku wywołania rekurencyjnego pętli. Jest to jeden z najtrudniejszych do zidentyfikowania błędów. Arkadiusz Popa

Klasa Abstrakcyjna Jest to typ klasy z której nie można tworzyć obiektów. Nie zawiera również ciała poszczególnych metod. Wszystkie klasy z niej dziedziczące będą posiadały zaimplementowane wyszczególnione w niej metody i akcesory. public abstract class Shape { public Shape(){ } public abstract float Top { get; set; public abstract float Area(); public abstract int Dimension(); Arkadiusz Popa

Klasa Abstrakcyjna Implementując klasę abstrakcyjną musimy dopisać zmienne, przeciążyć jej metody i ewentualnie napisać nowe public class Circle : Shape { float fxCenter, fyCenter, fRadius; public Circle(){ … } public override float Top { get { return fxCenter – fRadius; set { fxCenter = value + fRadius; Arkadiusz Popa

Interfejs Interfejs to sposób na abstrakcyjną reprezentację klasy. public interface Ifigure { float Top { get; set; } float Area(); Arkadiusz Popa

Namespace – Web Application Zawartość System.Web Application, Browser, Cache, Cookies, Request, Response. Np.:Application definiuje nam Global.asax System.Web.SessionState Obiekt Session. Używane do przechowywanie stanu sesji. System.Web.Services Obiekt WebService. Używane do tworzenia i używania serwisów Web System.Web.UI Obiekty Page i Control. Używane do tworzenia kontroli interfejsu użytkownika System.Web.Security Autentyfikacja obiektów i modułów. Definiuje rolę, przywileje itp.. Arkadiusz Popa