Читаем Полное руководство. С# 4.0 полностью

где доступ — это модификатор доступа, определяющий те части программы, из ко торых может вызываться метод. Как пояснялось выше, указывать модификатор досту па необязательно. Но если он отсутствует, то метод оказывается закрытым (private) в пределах того класса, в котором он объявляется. Мы будем пока что объявлять методы открытыми (public), чтобы вызывать их из любой другой части кода в программе. За тем возращаемыйтип обозначает тип данных, возвращаемых методом. Этот тип должен быть действительным, в том числе и типом создаваемого класса. Если метод не возвра щает значение, то в качестве возвращаемого для него следует указать тип void. Далее имя обозначает конкретное имя, присваиваемое методу. В качестве имени метода может служить любой допустимый идентификатор, не приводящий к конфликтам в текущей области объявлений. И наконец, списокпараметров — это последовательность пар, со стоящих из типа и идентификатора и разделенных запятыми. Параметры представляют собой переменные, получающие значение аргументов, передаваемых методу при его вы зове. Если у метода отсутствуют параметры, то список параметров оказывается пустым. Добавление метода в класс Building

Как пояснялось выше, методы класса, как правило, манипулируют данными класса и предоставляют доступ к ним. С учетом этого напомним, что в приведенных выше примерах в методе Main вычислялась площадь на одного человека путем деления общей площади здания на количество жильцов. И хотя такой способ формально счи тается правильным, на самом деле он оказывается далеко не самым лучшим для орга низации подобного вычисления. Площадь на одного человека лучше всего вычислять в самом классе Building, просто потому, что так легче понять сам характер вычисле ния. Ведь площадь на одного человека зависит от значений в полях Area и Occupants, инкапсулированных в классе Building. Следовательно, данное вычисление может быть вполне произведено в самом классе Building. Кроме того, вводя вычисление площади на одного человека в класс Building, мы тем самым избавляем все програм мы, пользующиеся классом Building, от необходимости выполнять это вычисление самостоятельно. Благодаря этому исключается ненужное дублирование кода. И нако нец, добавление в класс Building метода, вычисляющего площадь на одного человека, способствует улучшению его объектно-ориентированной структуры, поскольку вели чины, непосредственно связанные со зданием, инкапсулируются в классе Building.

Для того чтобы добавить метод в класс Building, достаточно указать его в обла сти объявлений в данном классе. В качестве примера ниже приведен переработанный вариант класса Building, содержащий метод AreaPerPerson, который выводит площадь, рассчитанную на одного человека в конкретном здании. // Добавить метод в класс Building. using System; class Building { public int Floors; // количество этажей public int Area; // общая площадь здания public int Occupants; // количество жильцов // Вывести площадь на одного человека, public void AreaPerPerson { Console.WriteLine(" " + Area / Occupants + " приходится на одного человека"); } } // Использовать метод AreaPerPerson. class BuildingDemo { static void Main { Building house = new Building; Building office = new Building; // Присвоить значения полям в объекте house. house.Occupants = 4; house.Area = 2500; house.Floors = 2; // Присвоить значения полям в объекте office. office.Occupants = 25; office.Area = 4200; office.Floors = 3; Console.WriteLine("Дом имеет:\n " + house.Floors + " этажа\n " + house.Occupants + " жильца\n " + house.Area + "кв. футов общей площади, из них"); house.AreaPerPerson; Console.WriteLine; Console.WriteLine("Учреждение имеет:\n " + office.Floors + " этажа\n " + office.Occupants + " работников\n " + office.Area + " кв. футов общей площади, из них"); office.AreaPerPerson; } }

Эта программа дает такой же результат, как и прежде. Дом имеет: 2 этажа 4 жильца 2500 кв. футов общей площади, из них 625 приходится на одного человека Учреждение имеет: 3 этажа 25 работников 4200 кв. футов общей площади, из них 168 приходится на одного человека

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

Успешная карьера архитектора программного обеспечения требует хорошего владения как технической, так и деловой сторонами вопросов, связанных с проектированием архитектуры. В этой необычной книге ведущие архитекторы ПО со всего света обсуждают важные принципы разработки, выходящие далеко за пределы чисто технических вопросов.?Архитектор ПО выполняет роль посредника между командой разработчиков и бизнес-руководством компании, поэтому чтобы добиться успеха в этой профессии, необходимо не только овладеть различными технологиями, но и обеспечить работу над проектом в соответствии с бизнес-целями. В книге более 50 архитекторов рассказывают о том, что считают самым важным в своей работе, дают советы, как организовать общение с другими участниками проекта, как снизить сложность архитектуры, как оказывать поддержку разработчикам. Они щедро делятся множеством полезных идей и приемов, которые вынесли из своего многолетнего опыта. Авторы надеются, что книга станет источником вдохновения и руководством к действию для многих профессиональных программистов.

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT