Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° JavaΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 28

Автор Н.А. Вязовик

country.getCity().getStreet();

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ getStreet являСтся Π½Π΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° getCity(). ΠŸΡ€ΠΈΡ‡Π΅ΠΌ country.getCity ΠΊΠ°ΠΊ Ρ€Π°Π· являСтся составным ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

НаконСц, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠΊ (label). Π­Ρ‚Π° конструкция рассматриваСтся ΠΏΠΎΠ·ΠΆΠ΅, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, Ρ‡Ρ‚ΠΎ пространства ΠΈΠΌΠ΅Π½ ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹.


num:

for (int num = 2; num <= 100; num++) {

int n = (int)Math.sqrt(num)+1;

while (--n != 1) {

if (num%n==0) {

continue num;

}

}

System.out.print(num+" ");

}


Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ простыС числа мСньшС 100:


2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

ΠœΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ здСсь ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Π΅ пСрСмСнная ΠΈ ΠΌΠ΅Ρ‚ΠΊΠ° num, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ послСдняя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π° while Π½Π° внСшний for.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ простоС имя, Π° Π½Π΅ составноС, Ρ‚.ΠΊ. ΠΎΠ½ΠΎ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ Π΅Π³ΠΎ Π»Π΅Π³Ρ‡Π΅ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ. Однако понятно, Ρ‡Ρ‚ΠΎ Ссли Π² систСмС Π΅ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ классов со мноТСством ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с ситуациСй, ΠΊΠΎΠ³Π΄Π° Π² Ρ€Π°Π·Π½Ρ‹Ρ… классах Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ вводится Π½ΠΎΠ²ΠΎΠ΅ понятиС – ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости.

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости (Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅)

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ программистов, совмСстно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π°Π΄ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ классами ΠΎΠ΄Π½ΠΎΠΉ систСмы, ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Π΄Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ конструкциям языка, Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости (scope). Если ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊ полю, ΠΈΠ΄Π΅Ρ‚ ΠΈΠ· части ΠΊΠΎΠ΄Π°, ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΉ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ простым ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ссли Π½Π΅Ρ‚ – Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ составноС.

НапримСр:


class Point {

int x,y;

int getX() {

return x;

// простоС имя

}

}

class Test {

void main() {

Point p = new Point();

p.x=3;

// составноС имя

}

}


Π’ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊ полю x ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ класса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ простому ΠΈΠΌΠ΅Π½ΠΈ. К Π½Π΅ΠΌΡƒ ΠΆΠ΅ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ составному ΠΈΠΌΠ΅Π½ΠΈ. Оно составляСтся ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΡΡ‹Π»Π°ΡŽΡ‰Π΅ΠΉΡΡ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ ΠΈΠΌΠ΅Π½ΠΈ поля.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ области видимости для всСх элСмСнтов языка. Однако ΠΏΡ€Π΅ΠΆΠ΄Π΅ выясним, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠ°ΠΊ ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ.

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Java прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² (packages). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ систСму.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ классы ΠΈ интСрфСйсы ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏΡ‹. Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сразу для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ†Π΅Π»Π΅ΠΉ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, чисто физичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с большим количСством классов, Ссли ΠΎΠ½ΠΈ "свалСны Π² ΠΊΡƒΡ‡Ρƒ". Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ дСкомпозиция ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ доступа, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏΠ°ΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π±ΠΎΠ»Π΅Π΅ тСсно Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Ρ‡Π΅ΠΌ с классами ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² производится логичСская Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ². Из ООП извСстно, Ρ‡Ρ‚ΠΎ большая ΡΠ²ΡΠ·Π½ΠΎΡΡ‚ΡŒ систСмы, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ срСднСС количСство классов, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ взаимодСйствуСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ класс, Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ услоТняСт Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Ρ‚Π°ΠΊΠΎΠΉ систСмы. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эффСктивноС взаимодСйствиС подсистСм Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

НаконСц, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈΠΌΠ΅Π΅Ρ‚ своС пространство ΠΈΠΌΠ΅Π½, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Π΅ классы Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ…. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π½Π΅ приходится Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π° ΠΈΠΌΠ΅Π½.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚Π°

Π•Ρ‰Π΅ Ρ€Π°Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ элСмСнтами ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ Ρ‚ΠΈΠΏΡ‹ (классы ΠΈ интСрфСйсы). ΠžΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Π΅ элСмСнты Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… класса ΠΈ интСрфСйса, ΠΈΠ»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ Ρ‚ΠΈΠΏΠ°. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка компиляции.

НапримСр, Π² JDK 1.0 ΠΏΠ°ΠΊΠ΅Ρ‚ java содСрТал ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ applet, awt, io, lang, net, util ΠΈ Π½Π΅ содСрТал Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ ΠΏΠ°ΠΊΠ΅Ρ‚ java.awt Π²Ρ…ΠΎΠ΄ΠΈΠ» Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ image ΠΈ 46 классов ΠΈ интСрфСйсов.

БоставноС имя любого элСмСнта ΠΏΠ°ΠΊΠ΅Ρ‚Π° – это составноС имя этого ΠΏΠ°ΠΊΠ΅Ρ‚Π° плюс простоС имя элСмСнта. НапримСр, для класса Object Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ java.lang составным ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ java.lang.Object, Π° для ΠΏΠ°ΠΊΠ΅Ρ‚Π° image Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ java.awt – java.awt.image.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ структура ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π±Ρ‹Π»Π° Π²Π²Π΅Π΄Π΅Π½Π° для удобства ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ связанных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΈΠ»ΠΈ сосСдниС, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… связСй ΠΌΠ΅ΠΆΠ΄Ρƒ собой, ΠΊΡ€ΠΎΠΌΠ΅ ограничСния Π½Π° нСсовпадСниС ΠΈΠΌΠ΅Π½. НапримСр, ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ space.sun, space.sun.ray, space.moon ΠΈ factory.store ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ "Ρ€Π°Π²Π½Ρ‹" ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· этих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ особСнного доступа ΠΊ Ρ‚ΠΈΠΏΠ°ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌ способом ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Ρ‚ΠΈΠΏΠΎΠ² являСтся обычная файловая структура. Рассмотрим Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, исходный ΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ….

Π’ этом ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠ° java, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ основному ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ языка, Π° Π² Π½Π΅ΠΉ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ applet, awt, io, lang, net, util.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ модСлью солнСчной систСмы, для Ρ‡Π΅Π³ΠΎ создал классы Sun, Moon ΠΈ Test ΠΈ располоТил ΠΈΡ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ space.sunsystem. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠ° space, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ, Π° Π² Π½Π΅ΠΉ – ΠΏΠ°ΠΏΠΊΠ° sunsystem, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ хранятся классы этого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

Как извСстно, исходный ΠΊΠΎΠ΄ располагаСтся Π² Ρ„Π°ΠΉΠ»Π°Ρ… с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .java, Π° Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ – с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .class. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, содСрТимоС ΠΏΠ°ΠΏΠΊΠΈ sunsystem ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


Moon.java

Moon.class

Sun.java

Sun.class

Test.java

Test.class


Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, исходный ΠΊΠΎΠ΄ классов


space.sunsystem.Moon

space.sunsystem.Sun

space.sunsystem.Test


хранится Π² Ρ„Π°ΠΉΠ»Π°Ρ…


space\sunsystem\Moon.java

space\sunsystem\Sun.java

space\sunsystem\Test.java


Π° Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ – Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… .class -Ρ„Π°ΠΉΠ»Π°Ρ…. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π·Π°ΠΌΠ΅Π½Ρ‹ раздСлитСля . (Ρ‚ΠΎΡ‡ΠΊΠΈ) Π½Π° символ-Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ Ρ„Π°ΠΉΠ»ΠΎΠ² (для Windows это ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слэш \). Π’Π°ΠΊΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ компилятор для поиска исходных тСкстов ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ классов ΠΈ интСрфСйсов.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ошибкой Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Java прямо ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ space\sunsystem ΠΈ ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ классу Test, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»-описаниС Π»Π΅ΠΆΠΈΡ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Π΅ΠΉ. НСобходимо ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒΡΡ Π½Π° Π΄Π²Π° уровня ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π²Ρ‹ΡˆΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Java, построив ΠΏΡƒΡ‚ΡŒ ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, смогла ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Java всСгда Ρ€Π°Π·Π»ΠΈΡ‡Π°Π΅Ρ‚ рСгистр ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ², Π° Π·Π½Π°Ρ‡ΠΈΡ‚, названия Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π°ΠΌ. Π₯отя Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях опСрационная систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ доступ, нСвзирая Π½Π° рСгистр, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π² расхоТдСния ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ сбоям.

БущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‰Π΅Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассматриваСтся Π½ΠΈΠΆΠ΅). Оно ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΠ΅Ρ‚ объявлСнию Ρ‚ΠΈΠΏΠ° ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ этот Ρ‚ΠΈΠΏ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π°Π±ΠΎΡ€ доступных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² опрСдСляСтся Π½Π°Π±ΠΎΡ€ΠΎΠΌ доступных Ρ„Π°ΠΉΠ»ΠΎΠ², содСрТащих объявлСния Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². НапримСр, Ссли ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ пустой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ посторонними Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, это ΠΎΡ‚Π½ΡŽΠ΄ΡŒ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ появлСнию ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² Java.

КакиС Ρ„Π°ΠΉΠ»Ρ‹ доступны для ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ Java SDK (компилятора, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° ΠΈ Ρ‚.Π΄.), устанавливаСтся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, вСдь ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ – это ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ОБ ΠΈ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. НапримСр, Ссли ΠΏΠ°ΠΊΠ΅Ρ‚ содСрТит ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ, Π½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ Ρ„Π°ΠΉΠ» нСдоступСн Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ОБ для чтСния, для Java этот Ρ‚ΠΈΠΏ ΠΈ этот ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ всСгда ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ классы находятся Π² Ρ€Π°Π·Π½Ρ‹Ρ… мСстах, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°ΠΆΠ΅ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ², для ускорСния Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΎΠ΄Π½Ρƒ ΠΏΠ°ΠΏΠΊΡƒ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΊΡ€Π°ΠΉΠ½Π΅ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Java ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния, которая называСтся classpath. Аналогично Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ пСрСмСнная path ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ систСмС Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ динамичСскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, эта пСрСмСнная ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Java-классами. Π•Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΏΡƒΡ‚Π΅ΠΉ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°ΠΌ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой. Π‘ вСрсии 1.1 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π°Ρ€Ρ…ΠΈΠ²Ρ‹ Ρ‚ΠΈΠΏΠΎΠ² ZIP ΠΈ JAR (Java ARchive) – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π½Π° основС ZIP для Java.

НапримСр, пСрСмСнная classpath ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:


.;c:\java\classes;d:\lib\3Dengine.zip;

d:\lib\fire.jar


Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ всС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΈ содСрТимоС всСх Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² "добавляСтся" ΠΊ исходному ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ. Java Π² поисках класса Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ описанному Π²Ρ‹ΡˆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Ρƒ Π²ΠΎ всСх ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΊΠ°Ρ… ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ… ΠΏΠΎ порядку. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Π½ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (прСдставлСн Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ). Π­Ρ‚ΠΎ дСлаСтся для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ поиск всСгда начинался с исходного ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, такая запись Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈ дСлаСтся Π½Π° усмотрСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.