. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
созда<strong>е</strong>м м<strong>е</strong>тоды и р<strong>е</strong>дактиру<strong>е</strong>м маршруты<br />
М<strong>е</strong>тоды прокладки и р<strong>е</strong>дактирования маршрутов<br />
Класс Navigator сод<strong>е</strong>ржит м<strong>е</strong>тоды, которы<strong>е</strong> выполняют вс<strong>е</strong> д<strong>е</strong>йствия. В отличи<strong>е</strong><br />
от уж<strong>е</strong> знакомых вам м<strong>е</strong>тодов button_Click () они р<strong>е</strong>шают другую задачу:<br />
прокладывают маршрут по городу. Им<strong>е</strong>нно поэтому Майк пом<strong>е</strong>стил эти м<strong>е</strong>тоды<br />
в <strong>е</strong>диный класс и присвоил <strong>е</strong>му имя Navigator.<br />
Для опр<strong>е</strong>д<strong>е</strong>л<strong>е</strong>ния маршрута сначала вызыва<strong>е</strong>тся м<strong>е</strong>тод SetDestination (), указывающий<br />
кон<strong>е</strong>чную точку, зат<strong>е</strong>м прим<strong>е</strong>ня<strong>е</strong>тся м<strong>е</strong>тод GetRoute (), выводящий<br />
маршрут в вид<strong>е</strong> символьной строки. Если маршрут тр<strong>е</strong>бу<strong>е</strong>тся изм<strong>е</strong>нить, на помощь<br />
приходит м<strong>е</strong>тод ModifyRouteToAvoidO , позволяющий изб<strong>е</strong>жать опр<strong>е</strong>д<strong>е</strong>л<strong>е</strong>нных<br />
улиц. Зат<strong>е</strong>м м<strong>е</strong>тод GetRoute {) выводит новый вариант маршрута.<br />
class Navigator {<br />
Мйык выбира<strong>е</strong>т<br />
для м<strong>е</strong>тодов<br />
значимы<strong>е</strong> им<strong>е</strong>на.<br />
public void SetCurrentLocation(string locationName) {<br />
ptiblic void SetDestination (string destinationName) { , } ;<br />
public void ModifyRouteToAvoid(string streetName) { ... };<br />
public (string GetRoute 0 { ... };<br />
вм вровд<strong>е</strong>« 3 „ „ e " L ,<br />
М <strong>е</strong>тоды, возвращающи<strong>е</strong> знач<strong>е</strong>ни<strong>е</strong><br />
string route =<br />
GetRoute {);<br />
М<strong>е</strong>тоды состоят из оп<strong>е</strong>раторов. Н<strong>е</strong>которы<strong>е</strong> из них выполняют вс<strong>е</strong> входящи<strong>е</strong><br />
оп<strong>е</strong>раторы и заканчивают работу. Други<strong>е</strong> ж<strong>е</strong> в о зв р а щ а ю т како<strong>е</strong>-то<br />
зн а ч <strong>е</strong> н и <strong>е</strong> . Это знач<strong>е</strong>ни<strong>е</strong> принадл<strong>е</strong>жит к опр<strong>е</strong>д<strong>е</strong>л<strong>е</strong>нному типу (наприм<strong>е</strong>р,<br />
s t r i n g или in t) .<br />
Оп<strong>е</strong>ратор r e t u r n пр<strong>е</strong>рыва<strong>е</strong>т работу м<strong>е</strong>тода. Если м<strong>е</strong>тод н<strong>е</strong> возвраща<strong>е</strong>т<br />
знач<strong>е</strong>ния, тип возвраща<strong>е</strong>мого знач<strong>е</strong>ния объявля<strong>е</strong>тся как v o id , присутстви<strong>е</strong><br />
этого оп<strong>е</strong>ратора явля<strong>е</strong>тся н<strong>е</strong>обязат<strong>е</strong>льным. Но <strong>е</strong>сли м<strong>е</strong>тод возвра-<br />
Вот прим<strong>е</strong>р м<strong>е</strong>тода,<br />
возвращающ<strong>е</strong>го ^<br />
знач<strong>е</strong>ни<strong>е</strong> типа int.<br />
М<strong>е</strong>тод использу<strong>е</strong>т<br />
два парам<strong>е</strong>тра<br />
для вычисл<strong>е</strong>ния<br />
р<strong>е</strong>зультата,<br />
а зат<strong>е</strong>м при помощи<br />
оп<strong>е</strong>ратора return<br />
п<strong>е</strong>р<strong>е</strong>да<strong>е</strong>т знач<strong>е</strong>ни<strong>е</strong><br />
X вызвавил<strong>е</strong>му <strong>е</strong>го<br />
ща<strong>е</strong>т знач<strong>е</strong>ни<strong>е</strong>, б<strong>е</strong>з оп<strong>е</strong>ратора r e t u r n н<strong>е</strong> обойтись. i / оп<strong>е</strong>ратору<br />
p u b l i c i n t M u ltip ly T w o N u m b ers(in t fir s tN u m b e r , i n t secondNum ber) {<br />
i n t r e s u l t = fir s tN u m b e r * secondN um ber;<br />
r e t u r n r e s u l t ;<br />
Оп<strong>е</strong>ратор вызыва<strong>е</strong>т м<strong>е</strong>тод, п<strong>е</strong>р<strong>е</strong>множающий два числа. Возвраща<strong>е</strong>мо<strong>е</strong><br />
знач<strong>е</strong>ни<strong>е</strong> принадл<strong>е</strong>жит к типу int:<br />
i n t m y R esu lt = M u ltip lyT w oN u m b ers(3, 5 );<br />
В м <strong>е</strong> т о Э ь ! м о ж н о<br />
п о д с т а в л я т )^ н<strong>е</strong><br />
' только константы,<br />
но 1А п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>ним.<br />
118 глава 3