-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGuitar.cs
192 lines (187 loc) · 2.85 KB
/
Guitar.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
namespace Instrumets
{
public class GuitarSpec
{
private Wood backWood;
private Wood topWood;
private GuitarType type;
private Builder builder;
private string model;
private int numStrings;
public GuitarSpec(
Builder builder,
string model,
GuitarType type,
Wood backWood,
Wood topWood,
int numStrings
)
{
this.builder = builder;
this.model = model;
this.type = type;
this.backWood = backWood;
this.topWood = topWood;
this.numStrings = numStrings;
}
public Builder Builder
{
get
{
return builder;
}
set
{
builder = value;
}
}
public string Model
{
get
{
return model;
}
set
{
model = value;
}
}
public GuitarType Type
{
get
{
return type;
}
set
{
type = value;
}
}
public Wood BackWood
{
get
{
return backWood;
}
set
{
backWood = value;
}
}
public Wood TopWood
{
get
{
return topWood;
}
set
{
topWood = value;
}
}
public int NumStrings
{
get
{
return numStrings;
}
}
public bool Match(GuitarSpec mathSpec)
{
if (mathSpec.Builder != this.Builder)
{
return false;
}
if (!mathSpec.Model.ToLower().Equals(this.Model.ToLower()))
{
return false;
}
if (mathSpec.Type != this.Type)
{
return false;
}
if (mathSpec.BackWood != this.BackWood)
{
return false;
}
if (mathSpec.TopWood != this.TopWood)
{
return false;
}
if (!mathSpec.NumStrings.Equals(this.NumStrings)) {
return false;
}
return true;
}
}
public class GuitarInstrument
{
private string serialNumber;
private double price;
private GuitarSpec spec;
public GuitarInstrument(
string serialNumber,
double price,
GuitarSpec spec
)
{
this.serialNumber = serialNumber;
this.price = price;
this.spec = spec;
}
public string SerialNumber
{
get
{
return serialNumber;
}
}
public double Price
{
get
{
return price;
}
set
{
price = value;
}
}
public GuitarSpec Spec
{
get
{
return spec;
}
set
{
spec = value;
}
}
}
public enum GuitarType
{
ACOUSTIC,
ELECTRIC,
}
public enum Builder
{
FENDER,
MARTIN,
GIBSON,
COLLINGS,
OLSON,
RYAN,
PRS,
ANY
}
public enum Wood
{
CEDAR,
ALDER,
SITKA,
ADRONDACK,
COCOBLO,
MAPLE
}
}