Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Serwery Aplikacji ASP.NET Web Objects Arkadiusz Popa.

Podobne prezentacje


Prezentacja na temat: "Serwery Aplikacji ASP.NET Web Objects Arkadiusz Popa."— Zapis prezentacji:

1 Serwery Aplikacji ASP.NET Web Objects Arkadiusz Popa

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

3 Namespace.. Arkadiusz Popa 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;

4 Namespace… Arkadiusz Popa 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() { … } NazwaProjektu.NazwaPrzestrzeniNazw..NazwaKlasy.NazwaMetody

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

6 Metody dostępu do klas i metod Arkadiusz Popa MetodaOpis publicDostęp do wszystkich wartości w klasach i projektach protectedDostęp do wartości w klasie bieżącej i w klasach jej pochodnych privateDostęp do wartości tylko w klasie bieżącej

7 Dziedziczenie Arkadiusz Popa C#Opis KlasaPochodna : KlasaBazowa Dziedziczy wartości z klasy Bazowej do pochodnej virtualDeklaruje że wartość w klasie bazowej może zostać nadpisana w klasie pochodnej ovverideDeklaracja że nazwa w klasie pochodnej nadpisuje taka samą nazwę w klasie bazowej abstractDeklaruje że wartość musi zostać nadpisana w klasie pochodnej thisWywołanie wartości z obecnej klasy

8 Properties Arkadiusz Popa Standardowe podejście do seterów i geterów: 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);

9 Properties Arkadiusz Popa 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 }

10 Properties Arkadiusz Popa Podejście do seterów i geterów w C#: 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

11 Propertie – read/write only Arkadiusz Popa 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; }

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

13 Klasa Abstrakcyjna Arkadiusz Popa 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(); }

14 Klasa Abstrakcyjna Arkadiusz Popa 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; } … }

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

16 Namespace – Web Application Arkadiusz Popa NamespaceZawartość System.WebApplication, Browser, Cache, Cookies, Request, Response. Np.:Application definiuje nam Global.asax System.Web.SessionStateObiekt Session. Używane do przechowywanie stanu sesji. System.Web.ServicesObiekt WebService. Używane do tworzenia i używania serwisów Web System.Web.UIObiekty Page i Control. Używane do tworzenia kontroli interfejsu użytkownika System.Web.SecurityAutentyfikacja obiektów i modułów. Definiuje rolę, przywileje itp..


Pobierz ppt "Serwery Aplikacji ASP.NET Web Objects Arkadiusz Popa."

Podobne prezentacje


Reklamy Google