Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 354

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 348 349 350 351 352 353 < 354 > 355 356 357 358 359 360 .. 404 >> Следующая


DisplayPoll О —это простой частный метод, который получает объект Poll и выводит его в выходной поток консоли. Он показывает собственно вопрос, а также все возможные ответы имеете с числом голосов, которые были поданы за каждый из них:

private static viod DisplayPoll (Poll aPoll)

(

Console.WriteLine [*==Poll+ + ') ;

Console.WriteLine (aPoll.Question) ;

tor (int i=l; i<=(aPoll.AnswerCount)s i++)

(

Console.Write (aPol1.Answers [i] + *>j

Console.WriteLine (aPoll.Votes [i] + * votes]}

}

Console.WriteLine (*=«==«**=•);

>

MJmL «l.’uc Jnp.’ii'rit 1 л ri'j n .i ч i | Vi ч;. ¦ и pl’ir.ivi lu h'i-Y С ft: ;

C+ • Г UOt.v’T

Лоч.ч: vr>ten

•htu.iK^ri |tL г I'-i vuIp1,

nnslcs -1У. udU'.

Uut« fvu i'.ccrdrt CH

Poll

Щълt licur: lnp-u-itt cl о you )ЧГ inertly U'-^ V

C3; i3 «joti

tr * t ". 2 'J4J tL.*3

vl.w.t: 31 yiiLtr ,1луЛ^ггi|4 : I'¦{ vote;:

Ui~u.il U.i\, ic: "5X uftlu::

[JrL*ss лг?|,' hr у to conciuno

Li

Метод DisplayPoll() использует свойство Question для вывода текста вопроса, после чего он проходит по всем элементам в свойствах Answers и votes и выводит текст отпета и число голосов для всех возможных вариантов ответа на данный вопрос.

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

Структуры данных (уровень данных)

У нас имеется тестирующая программа, с помощью которой можно убедиться в правильности работы нашего кода. Теперь рассмотрим вопрос о том, каким образом мы собираемся хранить данные в XML-файле. Следует иметь в виду, что поскольку между классом Poll и данными опроса существует взаимно однозначное соотиетствис. то, в зависимости от используемого для взаимодействия с классом рои интерфейса (будь то консольное приложение, Web Forms или Windows Forms), есть возможность для перехода впоследствии к другой архитектуре хранения данных. При таком использовании XML существует целый ряд ограничений,

о которых мы поговорим несколько позже.

Каждый опрос состоит из нескольких видов данных:

? Question (строка)
Практический пример 1 — web-сайт для проведения опросов

757

? Множество Answers (строки)

? Множество счетчиков Votes (целые)

Отсюда следует возможность создать простои XML-файл (polls.xml) в корневой директории диска сл. Файл будет выглядеть следующим образом:

<?xml version*" 1. O' encodina=”utf-e" ?>

<Poll Question-'What development language do you primarily uoe?">

<Answer Text»"CI’ Votes*"10* /> f

<Anewer Text="C++* Votes=*2" />

<Answer Text^’Java" Votee=*3*" />

<Anewer Text=‘JavaScript" Votee=*12* />

<Answer Text**Vieual Basic* Votese*42* />

</Poll>

Обратите внимание на то, каким образом используется тег Poll, в котором содержится вся информация об опросе и хранится атрибут, представляющий вопрос данного опроса. В тег Poll вложена последовательность, состоящая из нескольких тегов Answer, в каждом из которых содержится текст ответа и счетчик голосов.

XML-формат обладает достаточно простой структурой, позволяющей выполнять редактирование вручную, но еще более ценным оказывается тот факт, что, сохраненне данных в XML-формате предоставляет целый ряд возможностей для считывания данных и выполнения над ними манипуляций. Теги в XML-файле, где хранятся ответы на опрос, обладают точно такой же структурой, как если бы они хранились в базе данных — по одной строке на каждый ответ со столбцами Text и votes. Как вы сможете увидеть впоследствии, мы будем осуществлять доступ к XML посредством набора данных точно таким же образом, как еслн бы мы осуществляли доступ к таблице, хранящейся в базе данных.

Реализация объекта

На уровне бизнес-логики используется единственный класс — класс рои. Ниже перечислены методы и свойства, которые необходимо написать.

Методы

? public static Poll Current))

? public void Vote(int answer)

Свойства

? public int AnewerCount

? public string Question

? public stringП Answers

? public int[] Votes

Приступим к созданию класса. Прежде всего создадим пустой файл для класса Poll. Для этого в Visual Studio.NET нужно выбрать пункт Add Class меню Project и ввести имя файла Poii.cs, как показано на рисунке слева.
758_______________________________________________________________________Практический пример

Visual Studio.NET создаст файл poii.cs и сгенерирует общую схему класса, которая выглядит следующим образом:

using System; namespace Poll {

ft! <Ешшпдгу;

/// Общее описание для Poll.

///</summary> public class Poll {

public Poll О

{

//

// действие; дс авить здесь логически конструктор

U

¦ ' )

1

Обратите внимание на то, как используется пустой конструктор (метод Polio); его использование отличается от файла Poilc.es, в котором вместо конструктора использовался метод Maino. Теперь следует пройти по всем методам н посмотреть, каким образом их можно реализовать.

Претаде чем переходить к рассмотрению методов и свойств класса poll, необходимо определить некоторые поля. Более подробно эти поля будет рассматриваться для каждого конкретного метода. В полях будут храниться число голосов, ответы, вопрос, количество ответов (my Answer count) и полное имя XML-файла с данными об опросе:
Предыдущая << 1 .. 348 349 350 351 352 353 < 354 > 355 356 357 358 359 360 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.