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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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

14 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

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

16 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


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

Podobne prezentacje


Reklamy Google