русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Помещаем метод в структурный тип


Дата добавления: 2013-12-23; просмотров: 779; Нарушение авторских прав


Структурный тип как параметр

Используем структуры

Эволюция от структур к классам

Объектно-ориентированное программирование

Напомним, как использовать традиционные уже в языке Си структурные типы и их переменные – структуры.

01 struct Person

02 { public string Name;

03 public double Height;

04 public double Weight;

05 }

06 class Program

07 { static void Main(string[] args)

08 { Person me, you;

09 me.Name="Это я"; me.Height=190.0; me.Weight=85;

10 you.Name="Это ты"; you.Height=140.0; you.Weight=85;

11 PersonAnalyze(me.Height,me.Weight,me.Name);

12 PersonAnalyze(you.Height,you.Weight,you.Name);

13 }

14 static void PersonAnalyze(double h,double w,string n)

15 { if (h - w > 100.0) Console.WriteLine(n + " худой");

16 else Console.WriteLine(n + " полный");

17 }

18 }

В определении структурного типа Person (стр.01-05) новым является только использование слова public в описании переменных. Его роль мы выясним позже.

Класс Program условно можно назвать главным классом, поскольку он содержит метод Main, с которого и начнется выполнение программы.

В методе Main описываются две структуры (переменные структурного типа). В отличие от языка Си, в описании структур ключевое слово struct не указывается. Таким образом, переменные me и you являются переменными типа Person.

Далее с помощью операции доступа к полю (операции точка) и операторов присваивания происходит заполнение переменных me и you информационным содержимым (стр.09-10).

Наконец, в стр. 11 и 12 вызывается метод PersonAnalyze класса Program сначала с данными структуры me, а затем с данными структуры you. Заметим, что метод PersonAnalyze, как и метод Main описан как static. На экране должен появиться следующий результат:



Это я полный

Это ты худой

Дальнейшее использование структурного типа повышает уровень Вашего программного кода. Например, применение параметров структурного типа делает функции (методы) более естественными:

static void PersonAnalyze(Person p)

{ if (p.Height-p.Weight> 100.0)

Console.WriteLine(p.Name + " худой");

else

Console.WriteLine(p.Name + " полный");

}

Использование такого метода в Main подчеркивает, что Ваша программа оперирует сущностями предметной области, а не примитивными порциями данных:

PersonAnalyze(me);

PersonAnalyze(you);

В предыдущем примере метод PersonAnalyze имеет довольно слабое отношение к структурному типу Person (только название). Основной причиной этого является размещение метода за пределами структурного типа Person.

Проделаем следующую трансформацию программы:

01 struct Person

02 { public string Name;

03 public double Height;

04 public double Weight;



<== предыдущая лекция | следующая лекция ==>
Метод ToCharArray | Значимые и ссылочные переменные


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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