Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Данные-члены

Данные-члены — это те члены, которые содержат данные класса — поля, константы, события. Данные-члены могут быть статическими (static). Член класса является членом экземпляра, если только он не объявлен явно как static.

Поля (field) — это любые переменные, ассоциированные с классом. Вы уже видели поля в классе PhoneCustomer в предыдущем примере. После создания экземпляра объекта PhoneCustomer к его полям можно обращаться с использованием синтаксиса Объект.ИмяПоля, как показано в следующем примере:

PhoneCustomer Customerl = new PhoneCustomer();Customerl.FirstName = "Simon";

Константы могут быть ассоциированы с классом тем же способом, что и переменные. Константа объявляется с помощью ключевого слова const. Если она объявлена как public, то в этом случае становится доступной извне класса.

class PhoneCustomer{public const string DayOfSendingBill = "Monday";public int CustomerlD;public string FirstName;public string LastName;}

Для того чтобы продемонстрировать классы на конкретных примерах, разработаем постепенно класс, инкапсулирующий информацию о зданиях, в том числе о домах, складских помещениях, учреждениях и т.д. В этом классе будут храниться три элемента информации о зданиях: количество этажей, общая площадь и количество жильцов. Ниже приведен первый вариант. В нем определены три переменные экземпляра: Floors, Area и Occupants. Как видим, в нём вообще отсутствуют методы. Это означает, что в настоящий момент этот класс состоит только из данных.

using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace BuildingProbe{ class Building { public int Floors; // количество этажей public int Area; // общая площадь здания public int Occupants; // количество жильцов } //В этом классе объявляется объект типа Building, class Program { static void Main(string[] args) { Building house = new Building(); // создать объект типа Building int areaPP; // площадь на одного человека // Присвоить значения полям в объекте house, house.Occupants = 4; house.Area = 250; house.Floors = 2; // Вычислить площадь на одного человека. areaPP = house.Area / house.Occupants; Console.WriteLine("Дом имеет:\n " + house.Floors + " этажа\n " + house.Occupants + " жильца\n " + house.Area + " кв. метров общей площади, из них\n " + areaPP + " приходится на одного человека"); Console.ReadLine(); } }}

Эта программа состоит из двух классов: Building и Program. В классе Program сначала создается экземпляр house класса Building с помощью метода Main (), а затем в коде метода Main () осуществляется доступ к переменным экземпляра house для присваивания им значений и последующего использования этих значений. Следует особо подчеркнуть, что Building и BuildingDemo — это два совершенно отдельных класса. Единственная взаимосвязь между ними состоит в том, что в одном из них создается экземпляр другого. Но, несмотря на то, что это раздельные классы, у кода из класса Program имеется доступ к членам класса Building, поскольку они объявлены как открытые (public). Если бы при их объявлении не был указан спецификатор доступа public, то доступ к ним ограничивался бы пределами Building, а следовательно, их нельзя было бы использовать в классе Program.

События — это члены класса, позволяющие объекту уведомлять вызывающий код о том, что случилось нечто достойное упоминания, например, изменение свойства класса либо некоторое взаимодействие с пользователем. Клиент может иметь код, известный как обработчик событий, реагирующий на них.

<== предыдущая лекция | следующая лекция ==>
Рассмотрение простейшей программы | Создание объектов
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 255; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.