14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!