ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. 
ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ (interface) — это соглашСниС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… классом. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ опрСдСляСт список ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса, Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎΠ± ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ допустимо Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько интСрфСйсов, Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… классах. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ интСрфСйс возмоТности управлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ: ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ классы… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Благодаря ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΡƒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ интСрфСйсы удаСтся ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… классах. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ позволяСт Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΡΠ²ΠΎΠΉΡΡ‚Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° нСзависимо ΠΎΡ‚ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. НапримСр, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Π’ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ взаимодСйствуСт с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ интСрфСйс. Если Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π“Ρ€ΡƒΠ·ΠΎΠ²ΠΈΠΊ ΠΈΠ»ΠΈ Π“ΠΎΠ½ΠΎΡ‡Π½Ρ‹ΠΉ_Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ интСрфСйс, Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса Π’ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ смоТСт Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ Π½ΠΈΠΌΠΈ (ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ), нСвзирая Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Π΄Π²Π°: Ρ‡Π΅Ρ€Π΅Π· интСрфСйсы ΠΈ Ρ‡Π΅Ρ€Π΅Π· наслСдованиС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π΄Π°Π»Π΅Π΅.

РСализация ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйсов

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ (interface) — это соглашСниС, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π΅ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… классом. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ опрСдСляСт список ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса, Π½ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎΠ± ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ допустимо Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько интСрфСйсов, Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ интСрфСйс ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… классах. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ интСрфСйс возмоТности управлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ:

// ΠΈΠΌΠ΅Π½Π° интСрфСйсов ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π±ΡƒΠΊΠ²Ρ‹ I interface IDrivable { int Π•Ρ…Π°Ρ‚ΡŒ (…); float ΠŸΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ (…); bool ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ (.);

}.

Если класс Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ интСрфСйс, Ρ‚ΠΎ Π² Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ описаны всС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ этого интСрфСйса. НапримСр: class Automobile: Вранспорт, IDrivable {.

int Π•Ρ…Π°Ρ‚ΡŒ (…) {);

float ΠŸΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ (…) {};

bool ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ (.) {};

// описаниС Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов …

}.

Π›ΡŽΠ±Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ интСрфСйс, способны Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ IDrivable Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… классах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΈΡ…, ΠΊΠ°ΠΊ Π“Ρ€ΡƒΠ·ΠΎΠ²ΠΈΠΊ, Автопогрузчик ΠΈΠ»ΠΈ ΠšΠ°Ρ‚Π΅Ρ€. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ взаимодСйствия с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ класса Π’ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Π’ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ находится Π² ΠΏΠΎΠ»Π½ΠΎΠΌ Π½Π΅Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ интСрфСйса, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΠ΅Ρ‚, Π΅ΠΌΡƒ извСстСн лишь сам интСрфСйс. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рСализация ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ интСрфСйсов рассматриваСтся Π² Ρ€Π°Π·Π΄. 6.3.

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Ρ‡Π΅Ρ€Π΅Π· наслСдованиС

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ классы ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ всС характСристики своих Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов ΠΈ способны Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠΎΠ΄ Π²ΠΈΠ΄ΠΎΠΌ экзСмпляров Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса, Ρ‚. Π΅. ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… классов. НапримСр:

ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ myAuto; // это пСрСмСнная, Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса! Π‘ΠΏΠΎΡ€Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ_Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ sportAuto = new Π‘ΠΏΠΎΡ€Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ_Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ ();

// ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ, Ρ‚. ΠΊ. Π΅ΡΡ‚ΡŒ наслСдованиС myAuto = sportAuto;

Π’ ΡΡ‚ΠΎΠΌ случаС ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ класса. РСализация ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° Ρ‡Π΅Ρ€Π΅Π· наслСдованиС Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассматриваСтся Π² Ρ€Π°Π·Π΄. 5.2.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ