Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i
Telekomunikacji
Instytut Sterowania i Systemów Informatycznych Platforma .Net
Kierunek: Informatyka Laboratorium nr 5
WŁAŚCIWOŚCI I INDEKSATORY Prowadzący: dr inż. Marek Kowal
Zakres ćwiczeń:
1. Definicja i wykorzystanie właściwości 2. Właściwości automatyczne
3. Definicja i wykorzystanie indeksatorów 4. Wzorzec projektowy Proxy
Wstęp teoretyczny
W języku C# istnieje konstrukcja, która łączy w sobie pole i metodę. Korzystamy z tego mechanizmu tak, jak by było to zwykłe pole, natomiast tak naprawdę wywołujemy metodę.
Konstrukcję tą nazywamy właściwością i definiujemy w następujący sposób:
class Nazwa_Klasy { ...
[modyfikator_dostępu] typ_właściowści nazwa_właściwości { get{ //ciało metody get }
set{ //ciało metody set } }
Zakładając, że klasa lub struktura zawiera pewną kolekcję można umożliwić w języku C#
odwoływanie się do poszczególnych elementów tej kolekcji przy pomocy zwykłego indeksu,.
Indeksatory definiujemy przy pomocy słowa kluczowego this w następujący sposób:
[modyfikator_dostępu] typ_indeksatora this[<lista_argumentów>]
{ get{ //ciało metody get } set{ //ciało metody set } }
<lista_argumentów>::=nazwa_typu nazwa_argumentu[,nazwa_typu nazwa_argumentu]
Zadania:
1. Zapoznaj się ze wstępem teoretycznym dotyczącym właściwości i indeksatorów w języku C# (prowadzący zajęcia udostępni w tym celu materiały Microsoft IT Academy)
2. Zadanie polega na opracowaniu programu kadrowego dla pewnej firmy. Twoim zadaniem jest dokończenie i przetestowanie klasy Osoba. Do klasy Osoba oraz Adres musisz dodać właściwości przy pomocy, których będzie można uzyskać dostęp do pól klasy. Zwróć uwagę, że wartość dla pola numerEwidencyjny klasy Osoba jest nadawana w momencie tworzenia obiektu i później ta wartość nie może być zmieniona. Zabezpiecz program tak, aby nie można było utworzyć osoby, która się jeszcze nie urodziła. Oprócz roku urodzenia również w programie kadrowym potrzebny będzie wiek osoby. Dodaj również klasy, które będą pośredniczyć w interakcji między klasami Osoba i Adres a konsolą. (Prowadzący zajęcia udostępni potrzebne do wykonania klasy)
Literatura:
1. Włodarczyk M.: ITA-105 Programowanie obiektowe, 2007.
2. Chappell D.: Zrozumieć platformę .NET, Helion, 2007.
3. Duffy J.: .NET Framework 2.0, Zaawansowane programowanie, Helion, 2007.
4. Michelsen K.: Język C#. Szkoła programowania, Helion, 2007 5. Liberty J.: C# 2005. Wprowadzenie, O'Reilly, 2007