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>рф<strong>е</strong>йсы и абстрактны<strong>е</strong> классы<br />

Классы, {р<strong>е</strong>ализующи<strong>е</strong> инт<strong>е</strong>рф<strong>е</strong>йсы, дол)кны включать ВСЕ<br />

м<strong>е</strong>тоды инт<strong>е</strong>рф<strong>е</strong>йсов<br />

Р<strong>е</strong>ализация инт<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><br />

так, программа н<strong>е</strong> компилиру<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>рить на слово...<br />

Г - У п р а ж н <strong>е</strong> н и <strong>е</strong><br />

О Создайт<strong>е</strong> ново<strong>е</strong> прилож<strong>е</strong>ни<strong>е</strong> и добавьт<strong>е</strong> в н<strong>е</strong>го класс IS tin g P a tro l.c s<br />

В файл вв<strong>е</strong>дит<strong>е</strong> код инт<strong>е</strong>рф<strong>е</strong>йса I S t i n g P a t r o l , прив<strong>е</strong>д<strong>е</strong>нный пару страниц назад. Программа<br />

при этом буд<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>йс<br />

IStingPatrol:<br />

c l a s s B e e : I S t i n g P a t r o l<br />

{<br />

}<br />

О П опы тайт<strong>е</strong>сь скомпилировать проградш у<br />

Выб<strong>е</strong>рит<strong>е</strong> команду Rebuild в м<strong>е</strong>ню Build. Компилятор н<strong>е</strong> запустится:<br />

Error List<br />

! O 4 Errors 0 Warnings 0 Messages<br />

O i<br />

©2<br />

© 3<br />

0 4<br />

Description<br />

'IStingPatroLExperimervt.Bee' does not implement interface member ’IStingPatroLExperiment.!StingPatrol.ShsrpenStingef(int)'<br />

IStingPatroL&tpsriment.Bee' does not implement interface member 'IStingPatrQl_Experiment,IStitT§Patrol.LooicFQrEnem(e50‘<br />

'IStingPatroLExperiment.Bee' does not implement interface member '!StingPatrol_E](perrment.lStingPatro!.Stin§erLength‘<br />

'IStingPatroLExperiment.Bee' does not implement interface member ’IStingPatrol_Experiment.lStingPatrol.AtertLever<br />

лизовали каждый м<strong>е</strong>тод инт<strong>е</strong>рф<strong>е</strong>йса.<br />

Добавьт<strong>е</strong> в класс В<strong>е</strong><strong>е</strong> м<strong>е</strong>тоды и свойства<br />

Добавьт<strong>е</strong> м<strong>е</strong>тоды L o o k F o r E n e m ie s и S h a r p e n S t i n g e r . Пока они н<strong>е</strong> должны выполнять<br />

никаких функций, они должны просто компилироваться. Добавьт<strong>е</strong> м<strong>е</strong>тод чт<strong>е</strong>ния для п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нной<br />

A l e r t L e v e l типа i n t и м<strong>е</strong>тоды чт<strong>е</strong>ния и записи для п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нной S t i n g e r L e n g t h .<br />

Посл<strong>е</strong> этого программа снова начн<strong>е</strong>т компилироваться!<br />

дальш<strong>е</strong> * 289

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

Saved successfully!

Ooh no, something went wrong!