8331764254

8331764254



Implementacja atrybutów (2)

c#

public string Adres{ //właściwość Adres

class DaneOsobovve{

get {return adres;} //zwraca wartość

private string imię;

set { adres = value;} //nadaje wartość

private string nazwisko;

}//koniec definicji właściwości Adres

private string adres:

}'.//Koniec definicji klasy DaneOsobowe

public string Imie{ //właściwość Imię

class Program} public static void Main(){

get {return imię;} //zwraca wartość

DaneOsobowe Kolega = new DaneOsobow e})

set {imię = value;} //nadaje wartość

Kolega.Nazwisko = „Nowak”;

}//konicc definicji właściwości Imię

Kolega.Imie = „Jan”;

Kolega.Adres = „ul. Zielona 5 Łódź”; public string Nazwisko{/Avłaściwość Nazwisko .

Console.WriteLine(Kolega.Nazwfisko +

gel {return nazwisko;} //zwraca wartość set { nazwisko = value;} //nadaje wartość }//koniec definicji właściwości Nazwisko

Projektowanie systemów infonnatyeznycli. wykład 2

Kolega.Imie + Kolega. Wiek);

}//Koniec funkcji Main }; //Koniec definicji klasy Program

12

W C# właściwości są naturalnym rozszerzeniem pól w klasach. Często nazywane są „inteligentnymi polami”. Zwykle w klasie definiujemy pola prywatne i metody set i get (tzw. akcesory) które realizują dostęp do danych. Język C# udostępnia wbudowany mechanizm nazwany właściwości w celu pośredniego dostępu do danych klasy. Właściwości są definiowane za pomocą słowa kluczowego property. Generalna forma definiowania właściwości jest następująca:

<modyfikator_zakresu> <zwracana_wartość> <nazwa_właściwości>

{

get {instrukcje} set{instrukcje}

}

Gdzie:

<modyfikator_zakresu> może być private, public, protected lub intemal <zwracana_wartość> reprezentuje dowolny typ C#.

<nazwa_właściwości> nazwa właściwości definiowana przez programistę.

W przykładzie na slajdzie została zdefiniowana klasa DaneOsobowe, która posiada trzy prywatne parametry: imię, nazwisko, wiek. Parametry te są prywatne stąd nie mamy do nich dostępu spoza klasy DaneOsobowe. Mamy jednak trzy właściwości za pomocą których możemy modyfikować i odczytywać te parametry. Przykładowo w funkcji Main linia druga (Kolega.Nazwisko=„Nowak”) uruchamia akcesor set właściwości Nazwisko. Natomiast odwołanie Kolega.Imie w funkcji WriteLine uruchamia akcesor get właściwości Imię. Należy dodać, że akcesor set ma predefiniowaną zmienną value, która reprezentuje przypisywaną wartość przekazaną do akcesora. Ponadto, warto zwrócić uwagę na to, że mogą być własność tylko do odczytu które to zawierają tylko akcesor get. Właściwości tylko do zapisu posiadają tylko akcesor set. Należy pamiętać o tym, że własności nie przechowują danych one określają tylko miejsce ich przechowywania. Stanowią tylko interface dostępu do danych, które są zdefiniowane w innym miejscu klasy.

Takie rozpisywanie się na temat właściwości w C# może Państwa dziwić ponieważ nie jest to główny temat wykładu. Przyznaje, że może trochę za dużo napisałem na ten temat jednak jest to unikatowy mechanizm spotykany jedynie w C# a ten slajd z pewnością przyda się jedynie tym, którzy zdecydują się na przygotowanie diagramów klas przy założeniu implementacji programu w języku C#.

12



Wyszukiwarka

Podobne podstrony:
Implementacja atrybutów (3) W języku nie obsługującym właściwości na ogól do pól klasy uzyskuje się
Przykład 4 - dziedziczenie w języku Java public class Budynek { protected String adres; public
-typ: string -nazwa: string -adres: string -tel: int Właściciel +ZatrudnieniePracownika
dg3 II ... ) class Y: public X { string objDesc; public:II ... void sort();U ... Pointers to al
Przykład - klasa Pracownik_Pracownik_ + nazwisko : string + adres: string + dataUrodzenia: Datę
Definiowanie funkcji składowychwewnątrz ciała funkcji - inline class osoba { public: string nazwisko
Definiowanie funkcji składowychna zewnątrz ciała funkcji class osoba { public: string nazwisko; int
Implementacja atrybutów (1) Niestety, nie ma jednego sposobu interpretowania atrybutów w kodzie prog
Implementacja atrybutów (4) Jeśli atrybut jest wielowartościowy, to dane przez niego reprezentowane
{ public double Szerokość; public double Wysokosc; public string Stan; public void Otwórz(){ St
>    Oparta na przepisach ustawy Prawo zamówień publicznych (PZP)1 2 - wybór właśc
hasla Panel sterowaniaJ ^ nt]
image003 mmmmm Właściwości odnośnika Adres:    http: //www. hot. jpg. pl/zd jecie/781

więcej podobnych podstron