Przestrzenie nazw i tablice

background image

Przestrzenie

nazw. Tablice

background image

Przegląd zagadnień

Przestrzenie nazw

Tablice

Podsumowanie

Pytania sprawdzające

Laboratorium

background image

Przestrzenie nazw (1)

Język C# jest przykładem języka wykorzystującego wiele
klas. W każdej z nich istnieje wiele różnych elementów o
różnych nazwach, których z oczywistych względów
ilościowych nie można zapamiętać

Prędzej, czy później przy nazywaniu jakiegoś elementu
wykorzysta się użytą już w innej klasie przez kogoś
nazwę

Rozwiązanie – przestrzenie nazw – ograniczają one
zasięg ważności nazwy elementu

background image

Przestrzenie nazw (2)

Przy pomocy dyrektywy using możliwe jest skrócenie
nieco zapisu pełnej nazwy klasy wraz z przestrzeniami
nazw

Załóżmy, że potrzebujemy doświadczonego programisty.
Musimy jednak wiedzieć, w jaki sposób pisze on
programy, bowiem inaczej pracuje programista piszący
struturalnie (struktura.programista), a inaczej piszący
obiektowo (obiekty.programista). W obu przypadkach
słowo programista ma inny wydźwięk

Ważną rolę pełni operator kropki, pozwalający na
uzyskanie dostępu do metody i danych klasy, a zarazem
ograniczający zasięg ważności nazwy

background image

Przestrzenie nazw – przykład

Kod C#

using System;

namespace

PrzestrzenZewnetrzna {

namespace

PrzestrzenWewnetrzna {

class Owoc {

public static void Jablko() {

Console.WriteLine("Jablko - element

wywołany w innej przestrzeni nazw");

}

}

}

class PrzestrzenWywolujaca {

public static void Main() {

PrzestrzenWewnetrzna.Owoc.Jablko();

}

}

}

background image

Przestrzeń nazw – podsumowanie

Przestrzenie nazw pomagają w podziale hierarchii
obiektów oraz w przezwyciężeniu jest jej złożoności

Używanie dyrektywy using umożliwia wielokrotnie
skrócenie zapisu, jednak ceną może być zmniejszenie
czytelności kodu. Problem może pojawić się także, gdy
pracujemy w dwóch przestrzeniach zawierających
elementy o identycznej nazwie

background image

Tablice

Najprostszym przykładem kolekcji elementów tego
samego typu jest tablica

Tablice posiadają wbudowany mechanizm
indeksowania, dzięki czemu można natychmiast uzyskać
dostęp do dowolnego elementu

Elementy tablicy numerowane są od 0, zatem ostatnim
elementem tablicy k-elementowej będzie element o
indeksie k-1

background image

Tablice – przykład obiektów

Tablice w języku C# są obiektami, co pozwala
udostępniać użyteczne metody i właściwości

Deklaracja tablicy ma postać:

Mimo zwyczajnego wyglądu deklaracji, w programie
rzeczywistości powstaje obiekt typu System.Array (lub
pochodnego typu)

Tablice są jedynym typem kolekcji posiadającym
wbudowaną obsługę w języku C#

typ[] nazwa_tablicy

background image

Tablice - przykład

Kod C#:

namespace PrzykladTablicy {

public class Samochod {

public Samochod (int Lp) {

this.Lp = Lp;
}

public override string ToString() {

return Lp.ToString();
}

private int Lp;
}

public class Tester {

static void Main() {

int[]

TablicaCalkowitych;

Samochod[] TablicaLp;
TablicaCalkowitych =

new int[5]

;

TablicaLp = new Samochod[3];
for (int i = 0; i<TablicaLp.

Length

; i++) {

TablicaLp[i] = Samochod[i+5]

;

}

}

}

}

background image

Tablice - dalsze informacje

Do pracy z kolekcjami przygotowana została nowa
instrukcja foreach, umożliwiająca kolejne użycie
wszystkich elementów kolekcji

Składnia:

Możliwa jest inicjalizacja elementów tablicy w czasie
tworzenia egzemplarza, co można uczynić przy pomocy
dwojakiej składni, przykładowo:

foreach(typ nazwa_elementu in wyrazenie) instrukcja

int[] TablicaCalkowitych = new int[3] {2, 5, 9}
int[] TablicaCalkowitych = {2, 5, 9}

background image

Tablice wielowymiarowe (1)

Tablice prostokątne - mają przynajmniej dwa wymiary.
Aby zadeklarować na przykład prostokątną tablicę
trójwymiarową, używamy składni

Możliwe jest jednoczesne zadeklarowanie i utworzenie
egzemplarza tablicy trójwymiarowej:

Dopuszczalne jest także inicjalizowanie bezpośrednie
elementów tablicy - na przykład dla tablicy o wymiarach
2x4 miałoby to postać:

typ[ , , ] TablicaProstokatna3D

int[ , , ] TablicaProstokatna3D = new int[2,3,5];

int[,] TablicaProstokatna2D = { {1, 2, 3, 4}, {2, 3, 4, 5} };

background image

Tablice wielowymiarowe (2)

Tablice nieregularne - poszczególne rzędy nie muszą
być tej samej długości

Tworząc tablicę typu nieregularnego należy podać liczbę
rzędów każdej tablicy. Każda z tablic musi zostać
zadeklarowana

Do deklaracji tablicy tego typu służy składnia:

Przykładowo dostęp do czwartego elementu drugiego
rzędu powyższej tablicy możemy uzyskać dzięki składni

typ[][] NazwaTablicy

NazwaTablicy[1][3]

background image

Podsumowanie

Przestrzenie nazw są ważnym elementem pracy
programisty – umożliwiają ograniczenie zasięgu
ważności nazwy

Podstawowym rodzajem kolekcji identycznych
elementów jest tablica

W języku C# wyróżniamy dwa rodzaje tablic
wielowymiarowych – prostokątne i nieregularne


Wyszukiwarka

Podobne podstrony:
04 Przestrzen nazw domenid 5172 Nieznany (2)
[lekcja 7] Przestrzeń nazw std Kurs C++ » Poziom 1
15.1. Konsola + przestrzenie nazw, Programowanie, Klasa III
04 Przestrzen nazw domenid 5172 Nieznany (2)
Przestrzenie nazw 21
tabliczka, Gospodarka Przestrzenna, GP semestr II, Rysunek tech. i planistyczny
Tablica nazw kolorów, Tablica nazw kolorów
zmiany nazw odzieży na przestrzeni wieków
tabliczka, Gospodarka Przestrzenna, GP semestr II, Rysunek tech. i planistyczny
TABLICA NAZW KOLORÓW
Przestępczość
Przestrzenie 3D
19 Mikroinżynieria przestrzenna procesy technologiczne,
5 Strategia Rozwoju przestrzennego Polskii

więcej podobnych podstron