. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
объ<strong>е</strong>кты, по порядку стройся!<br />
Просто<strong>е</strong> р<strong>е</strong>ш<strong>е</strong>ни<strong>е</strong>!<br />
Майк придумал новую программу сравн<strong>е</strong>ния маршрутов, которая<br />
ищ<strong>е</strong>т кратчайший путь при помощи объ<strong>е</strong>ктов. Вот как<br />
она создавалась.<br />
с и / -- это сокращ<strong>е</strong>ни<strong>е</strong> от<br />
graphical User Interface<br />
{^р^сричсский иии/\срфсис<br />
пользоват<strong>е</strong>ля).<br />
Майк добавил к СТЛ т<strong>е</strong>кстово<strong>е</strong> пол<strong>е</strong> —Ъ<strong>е</strong>хЬВох!, сод<strong>е</strong>ржащ<strong>е</strong><strong>е</strong> информацию о пункт<strong>е</strong> назнач<strong>е</strong>ния.<br />
Зат<strong>е</strong>м создал пол<strong>е</strong> textB ox2, для ввода названия улицы, которую н<strong>е</strong>льзя включать<br />
в маршрут; и пол<strong>е</strong> Ь<strong>е</strong>хЬВохЗ, сод<strong>е</strong>ржащ<strong>е</strong><strong>е</strong> информацию о <strong>е</strong>щ<strong>е</strong> одной улиц<strong>е</strong>, которую ж<strong>е</strong>лат<strong>е</strong>льно<br />
объ<strong>е</strong>хать.<br />
© О н создал о б ъ <strong>е</strong>к т N a v i g a t o r и указал пункт назнач <strong>е</strong>н ия.<br />
Это экз<strong>е</strong>мпляр<br />
класса Navigator.<br />
N a v ig a to r<br />
SetCurrentLocationO<br />
SetDestinationO<br />
IVIodifyRouteToAvoidO<br />
!\/1odifyRouteTolnclude()<br />
GetRouteO<br />
GetTimeToDestinationO<br />
TotalDistanceO<br />
s t r i n g d e s t i n a t i o n = t e x t B o x l . T e x t ;<br />
N a v i g a t o r n a v ig a t o r l = n ew N a v i g a t o r () ;<br />
n a v i g a t o r l . S e t D e s t i n a t i o n ( d e s t i n a t i o n ) ;<br />
r o u t e = n a v i g a t o r l . G e t R o u t e () ;<br />
O h добав и л в т о р о й о бъ <strong>е</strong>к т N a v i g a t o r с и м <strong>е</strong>н <strong>е</strong>м n a v i g a t o r 2<br />
и вызвал м <strong>е</strong>то д S e t D e s t i n a t i o n O эт о г о о бъ <strong>е</strong>к та для задан<br />
и я пункта назн ач <strong>е</strong>н и я, п о сл <strong>е</strong> ч <strong>е</strong>го вызвал м <strong>е</strong>то д M o d i f y <br />
R o u t e T o A v o id () (Р <strong>е</strong>дакти ровать и зб <strong>е</strong>га <strong>е</strong>м ы <strong>е</strong> улицы ).<br />
Тр<strong>е</strong>тий объ<strong>е</strong>кт N a v i g a t o r называ<strong>е</strong>тся n a v i g a t o r s . Майк указал<br />
пункт назнач<strong>е</strong>ния и вызвал м<strong>е</strong>тод M o d i f y R o u t e T o l n c l u d e O<br />
(Р<strong>е</strong>дактировать включа<strong>е</strong>мы<strong>е</strong> в маршрут улицы)<br />
J<br />
„ „ М string-<br />
vigotorl'<br />
5,6 км<br />
Т<strong>е</strong>п<strong>е</strong>рь Майк мож<strong>е</strong>т вызвать общий для вс<strong>е</strong>х объ<strong>е</strong>ктов м<strong>е</strong>тод<br />
T o t a l D i s t a n c e O (Общ<strong>е</strong><strong>е</strong> расстояни<strong>е</strong>) и опр<strong>е</strong>д<strong>е</strong>лить самый<br />
короткий маршрут. И для этого <strong>е</strong>му понадобился один фрагм<strong>е</strong>нт<br />
кода, а н<strong>е</strong> три!<br />
Создани<strong>е</strong> нового<br />
объ<strong>е</strong>кта на основ<strong>е</strong><br />
класса называ<strong>е</strong>тся<br />
создани<strong>е</strong>м экз<strong>е</strong>мпляра<br />
класса.<br />
дальш<strong>е</strong> У 125