Программирование >>  Программирование с использованием ajax 

1 ... 84 85 86 [ 87 ] 88 89 90 ... 396


S. Если используется среда VS, открыть диаграмму классов для этого проекта с помощью окна Solution Explorer (для того, чтобы появился значок диаграммы классов, выбран должен быть сам проект, а не решение). Вначале диаграмма классов должна быть пустой, поскольку в данном проекте пока еще не содержится никаких классов.

В случае отображения в этом представлении классов Resources и Settings, их можно скрыть, выполнив на каждом из них щелчок правой кнопкой мыши и выбрав в контекстном меню пункт Remove from Diagram (Удалить из диаграммы).

Добавление перечислений Suit и Rank

Добавить перечисление в диаграмму классов можно, перетащив в нее из панели Toolbox (Панель управления) элемент Enum (Перечисление) и заполнив соответствующим образом поля в диалоговом окне, которое появится после этого. Например, для перечисления Suit его следует заполнить так, как показано на рис. 10.10.


Рис. 10.10. Добавление перечисления Еп ит

Далее необходимо добавить члены перечисления в окне Class Details (Детали класса). Требуемые значения показаны на рис. 10.11.

V Nime Value

Sommiiy

Hide

Л Ditmond .[ J* Spide

(ntpu♦Br♦lIpo♦t CIiJiD llJ

Puc. 10.11. Добавление членов перечисления En ит

Затем точно таким же образом добавляется из панели Toolbox перечисление Rank. Значения перечисления Rank показаны на рис. 10.12.

НИГРГЗ-

- btuce Four

.. EigM .- Nine

Puc. 10.12. Добавление членов перечисления Rank



Значением первого члена назначается Асе (Туз) для того, чтобы при сохранении данных в перечислении соблюдалось соответствие с достоинством карты, т.е. чтобы, например, карта Six (Шестерка) сохранялась как 6.

По завершении диаграмма должна иметь вид, показанный на рис. 10.13.

Код, сгенерированный для этих двух перечислений в файлах Suit. CS и Rank. cs, будет выглядеть следующим образом:

using System;

using System.Collections.Generic; using System.Text;

namespace ChlOCardLib {

public enum Suit {

Club, Diamond, Heart, Spade,

Enum Club

Diamond

Heart

Spade


Puc. 10.13. Диаграмма классов после добавления перечислений Suit и Rank

using System;

using System.Collections.Generic; using System.Text;

namespace ChlOCardLib {

public enum Rank {

Ace = 1,

Deuce,

Three,

Four,

Five,

Six,

Seven,

Eight,

Nine,

Ten,

Jack,

Queen,

King,

Те, кто использует VCE, могут добавить этот код вручную просто путем добавления самих файлов Suit.cs и Rank.cs, а затем ввода в них приведенного выше кода. В этом коде стоит обратить внимание, что дополнительные команды, добавленные генератором кода после последнего члена перечисления, не будут приводить к созданию дополнительного пустого члена (хотя они действительно являются немного неаккуратными).



Добавление класса Card

в этом разделе описан процесс добавления класса Card как комбинированным применением конструктора классов и редактора кода в VS, так с использованием только редактора кода в VCE. Добавление класса в конструкторе классов осуществляется во многом так же, как и добавление перечисления, а именно - за счет перетаскивания соответствующего элемента из панели Toolbox в диаграмму. В данном случае нужно перетащить в диаграмму элемент Class и присвоить ему имя Card.

Далее следует в окне Class Details добавить поля rank и suit, а в окне Properties установить для свойства Constant Kind каждого из этих полей значение readonly. Также нужно добавить два конструктора: используемый по умолчанию (с уровнем доступности private) и принимающий два параметра - newSuit и newRank, соответственно, типа Suit и Rank (с уровнем доступности public). И, наконец, последнее, что следует сделать - переопределить метод ToSTring путем изменения значения свойства Inheritance Modifier в окне Properties на override.

На рис. 10.14 показано окно Class Details и класс Card со всей введенной информацией.

- Nttrw

Туре

Summery

- Card

риЫ.С puDk

fm newSut

Suit

R nk

None

8 4 ToStrioB.......

ГО

V ♦ >

Ч -9

* Пк

R nk

.....В ..

♦ 11.11

Surt

. p >!l .

Рис. 10.14. Окно Class Details после ввода информации, необходимой для класса Card

Затем необходимо изменить код класса Card в файле Card, cs следующим образом (или добавить показанный ниже код в новый класс по имени Card в пространстве имен ChlOCardLib, если дело происходит в среде VCE):

public class Card {

public readonly Suit suit; public readonly Rank rank; public Card(Suit newSuit, Rank newRank)

suit = newSuit; rank = newRank;

private CardO

public override string ToString() return The + rank + of + suit + s ;



1 ... 84 85 86 [ 87 ] 88 89 90 ... 396

© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика