<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.cusu.edu.ua/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
		<id>https://wiki.cusu.edu.ua/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC</id>
		<title>Вікі ЦДУ - Внесок користувача [uk]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.cusu.edu.ua/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC"/>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A1%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0:%D0%92%D0%BD%D0%B5%D1%81%D0%BE%D0%BA/%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC"/>
		<updated>2026-09-24T03:04:15Z</updated>
		<subtitle>Внесок користувача</subtitle>
		<generator>MediaWiki 1.23.2</generator>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%9A%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%B8%D0%BC_%D1%81%D0%B2%D1%96%D1%82%D0%BB%D0%BE%D0%BC._%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_LiFi</id>
		<title>Обговорення:Комунікація видимим світлом. Технологія LiFi</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%9A%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%B8%D0%BC_%D1%81%D0%B2%D1%96%D1%82%D0%BB%D0%BE%D0%BC._%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_LiFi"/>
				<updated>2013-12-08T14:52:32Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В принципе информации более чем достаточно, так как данная технология не столько распространенная и еще находиться в стадии экспериментов.[http://newsland.com/news/detail/id/957908/]--[[Користувач:Максим|Максим]] 16:52, 8 грудня 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:DHCP</id>
		<title>Обговорення:DHCP</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:DHCP"/>
				<updated>2013-12-08T14:51:36Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Можно добавить как именно происходит настройка DHCP сервера на Linux в текстовом варианте [http://www.rhd.ru/docs/manuals/enterprise/RHEL-AS-2.1-Manual/custom-guide/configuring-dhcp-server.html] и к примеру видео для Windows [https://www.youtube.com/watch?v=A43FzO4FDO0]--[[Користувач:Максим|Максим]] 16:51, 8 грудня 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:DHCP</id>
		<title>Обговорення:DHCP</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:DHCP"/>
				<updated>2013-12-08T14:51:07Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: Створена сторінка: Можно добавить как именно происходит настройка DHCP сервера на Linux в текстовом варианте [http...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Можно добавить как именно происходит настройка DHCP сервера на Linux в текстовом варианте [http://www.rhd.ru/docs/manuals/enterprise/RHEL-AS-2.1-Manual/custom-guide/configuring-dhcp-server.html] и к примеру видео для Windows [https://www.youtube.com/watch?v=A43FzO4FDO0]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%9A%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%B8%D0%BC_%D1%81%D0%B2%D1%96%D1%82%D0%BB%D0%BE%D0%BC._%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_LiFi</id>
		<title>Обговорення:Комунікація видимим світлом. Технологія LiFi</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%9A%D0%BE%D0%BC%D1%83%D0%BD%D1%96%D0%BA%D0%B0%D1%86%D1%96%D1%8F_%D0%B2%D0%B8%D0%B4%D0%B8%D0%BC%D0%B8%D0%BC_%D1%81%D0%B2%D1%96%D1%82%D0%BB%D0%BE%D0%BC._%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_LiFi"/>
				<updated>2013-12-08T14:43:04Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: Створена сторінка: В принципе информации более чем достаточно, так как данная технология не столько распрос...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;В принципе информации более чем достаточно, так как данная технология не столько распространенная и еще находиться в стадии экспериментов.[http://newsland.com/news/detail/id/957908/]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9C%D0%B5%D1%80%D0%B5%D0%B6%D1%96_5G</id>
		<title>Мережі 5G</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9C%D0%B5%D1%80%D0%B5%D0%B6%D1%96_5G"/>
				<updated>2013-12-08T14:36:28Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:5g-iphone_5g-5g_technology-5g_network-5g_korea.jpg|500px|thumb|left|o-lia-lia]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;5G (5-е покоління мобільних мереж або 5-го покоління бездротових систем) назва, що використовується в деяких наукових роботах і проектах для позначення таких основних фаз мобільних телекомунікаційних стандартів після стандартів 4G (як очікується, буде завершена приблизно між 2011 і 2013). В даний час, 5G не є офіційним терміном, використання для будь-якої конкретної специфікації або в будь-яких офіційних документів до опублікування телекомунікаційними компаніями або органами стандартизації, таких як 3GPP, WiMAX Forum і МСЕ-R. Новий стандарт-релізи наступний за 4G в прогресі, органи по стандартизації, але в цей час не розглядаються в якості нового мобільного покоління з реалізації та розгортання систем сумісних з 4G все ще триває;&amp;lt;nowiki&amp;gt;Вставляйте сюди невідформатований текст.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:23g.jpg]]&lt;br /&gt;
--[[Користувач:Максим|Максим]] 16:36, 8 грудня 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
Цілі: 5G основа телекомунікаційної мережі, а в ідеалі, рішення майбутніх проблем, які виникнуть на моделі 4G після того, як стандарт набуде широкого застосування.&lt;br /&gt;
&lt;br /&gt;
Ключові поняття запропонував в обговоренні наукових робіт 5G і за її межами зв'язку 4G бездротової є:&lt;br /&gt;
Забезпечують розподілених обчислень: користувач може одночасно бути підключені до декількох технологій бездротового доступу і безперешкодно пересуватися між ними (. Дивись ЗМІ незалежної передачі або вертикальної передачі, IEEE 802,21, також повинні бути надані майбутніх версіях 4G Див також множинної адресації.). Ці технології доступу може бути 2.5G, 3G, 4G, 5G або мобільних мереж, Wi-Fi, WPAN, або будь-який інший технології доступу до майбутнього. У 5G, концепція може отримати подальший розвиток у декількох паралельних шляхів передачі даних. &lt;br /&gt;
&lt;br /&gt;
''Група співпраці реле: головна проблема в межі 4G систем, щоб зробити високій швидкості передачі даних доступна в більшій частині клітини, особливо для користувачів в піддається положення між декількома базовими станціями. У сучасних дослідженнях, це питання вирішується за допомогою стільникових ретрансляторів і макро-різноманітність методів, також відомі як група співпраці реле, а також промінь множинний доступ з поділом . Когнітивна технологія радіозв'язку, також відомий як смарт-радіо: дозволяє різним технологіям радіо, щоб один і той же спектр ефективно адаптивно знаходження невикористаних спектру та адаптації схеми передачі до вимог технології в даний час спільного спектра. Це динамічне управління ресурсами радіо досягається в розподіленому режимі, і покладається на радіозв'язку з програмованими параметрами.  Див також IEEE 802,22 стандарт для бездротових регіональних мереж району. Динамічні Adhoc бездротових мереж (ДОН),  в основному ідентичні Мобільний тимчасової мережі (MANET), бездротової комірчастої мережі (WMN) або бездротової мережі, в поєднанні з інтелектуальні антени і гнучкий модуляції. Вандермонда-підпростір з частотним поділом каналів (VFDM): схема модуляції, щоб співіснування макро-клітин і когнітивного радіо малих клітин в дворівневу LTE/4G мережі. IPv6, де відвідини догляду мобільних IP-адреса призначається залежно від місця розташування і підключеної мережі. Висотні стратосферних платформ станції (ССП) систем. Переносні пристрої з можливостями штучного інтелекту.Один єдиного глобального стандарту. Реальна бездротового світу з не більш обмеження доступу та зони питань.'' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Користувач орієнтовані (або стільникового телефону розробник ініціював) мережі концепції, а не з ініціативи оператора (як у 1G) або розробник системи ініційований (як в 2G, 3G і 4G) стандартів &lt;br /&gt;
У всьому світі бездротової мережі (WWW), тобто всеосяжного бездротової основі веб-додатків, які включають повні мультимедійні можливості за межами 4G швидкостях.&lt;br /&gt;
&lt;br /&gt;
Прогноз&lt;br /&gt;
&lt;br /&gt;
Були сім'ї 5G стандартів повинні бути реалізовані,  швидше за все,  близько 2020 року, за деякими даними . Новий мобільний покоління виявився кожен 10-й рік, починаючи з першого 1G системи (NMT) була введена в 1981 році, в тому числі 2G (GSM) системи, які почали розгортати в 1992 році, 3G (W-CDMA/FOMA), яка з'явилася в 2001 році, і &amp;quot;реальні&amp;quot; 4G стандарти виконання IMT-Advanced вимоги, які були ратифіковані в 2011 році і продуктів очікується в 2011-2012 рр.. Попередник технологій відбулися на ринку за кілька років до нової мобільної покоління, наприклад попередньо 3G systemCdmaOne/IS95 в 1995 році і попередньо Системи 4G Mobile WiMAX і LTE в 2005 і 2009 відповідно.&lt;br /&gt;
&lt;br /&gt;
Розвиток 2G (GSM) і 3G (IMT-2000 і UMTS) стандартів пішло близько 10 років з офіційного початку R &amp;amp; D проектів, і розвиток 4G системи почалася в 2001 або 2002 році.  Тим не менш, до цих пір немає транснаціональних проектів розвитку 5G офіційно був запущений, і представники промисловості висловили скептицизм по відношенню до 5G .&lt;br /&gt;
&lt;br /&gt;
Новий мобільний поколінь, як правило, призначаються нові смуги частот і більш широкі спектральні смуги пропускання частотного каналу (1G до 30 кГц, 2G до 200 кГц, 3G до 5 МГц, і 4G до 40 МГц), але скептики стверджують, що немає місця для нових частотних діапазонів або більшою пропускною здатністю каналу.  З точки зору користувача, попередні покоління мобільного увазі істотне збільшення піку бітрейт (тобто фізична чистий шар бітрейтів на короткі відстані зв'язку). Тим не менш, без вихідного коду передбачає 5G пік викачування і завантаження ставки більш ніж на 1 Гбіт, які будуть запропоновані за визначенням МСЕ-R 4G-систем.  Якщо 5G з'являється, і відображає ці прогнози, головна відмінність від точки зору користувача між 4G і 5G методик повинно бути щось інше, збільшити максимальну пропускну здатність, наприклад нижньої енергоспоживання, зниження ймовірності відключення (більш повне охоплення), високої швидкості передачі даних у великих частинах зони покриття, дешевші чи ні плати за з-за низьких витрат на розгортання інфраструктури , і вище сумарною потужністю для багатьох користувачів одночасно (тобто системи вищого рівня ефективності використання спектра). Такі цілі в декількох наукових робіт нижче.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Винайдення технології'''&lt;br /&gt;
&lt;br /&gt;
У Кореї розроблена і успішно продемонстрована нова мобільна телекомунікаційна технологія, яка дозволяє користувачам викачувати за допомогою мобільних терміналів дані на безпрецедентно високій швидкості.&lt;br /&gt;
&lt;br /&gt;
Нова розробка, що отримала назву кочових Доступ до локальної бездротової зони (Нола) дозволяє викачувати інформацію зі швидкістю до 3,6 гігабіт на секунду. За словами розробників з корейського науково-дослідного Інституту електроніки та телекомунікацій, Нола може бути використана в якості базового рішення в майбутніх мережах 5 покоління (5G).&lt;br /&gt;
&lt;br /&gt;
Мережі третього покоління 3G працюють на частотах діапазону близько 2 Ггц, передаючи дані зі швидкістю 2 Мбіт / с. Вони дозволяють організувати відеотелефонний зв'язок, дивитися на мобільному телефоні фільми та телепрограми і т. д. У світі співіснують два стандарти 3G: UMTS (або W-CDMA) і CDMA2000. UMTS поширений в основному в Європі, CDMA2000 - в Азії і США. 4G - це ще більш нова технологія мобільного зв'язку, що характеризується більшою швидкістю передачі даних і підвищеною якістю сигналу і передачі звуку без спотворення. До 4G відносяться технології, які здатні передавати дані зі швидкістю понад 100 Мбіт / с. 4G заснована на протоколах пакетної передачі даних. Для пересилання даних використовується протокол IPv6, а для передачі даних використовуються частоти 40 і 60 Гц.&lt;br /&gt;
&lt;br /&gt;
Нова ж технологія дозволить завантажити повнометражний фільм в DVD-якості всього за кілька секунд. Досі найшвидшим мобільним чіпом була розробка Samsung, яка працювала на швидкості до 1 Гбіт / с в сторону користувача.&lt;br /&gt;
&lt;br /&gt;
«Змагаючись з багатьма країнами у боротьбі за право бути першим на ринку стандартизації комунікацій четвертого покоління, ми успішно розробили та продемонстрували технології володіють швидкістю 3,6 гігабіт на секунду, тим самим, випередивши своїх суперників», - сказав Чой Мун Кі, голова науково- дослідного Інституту електроніки та телекомунікацій, під час демонстрації, проведеної в штаб-квартирі інституту в Течжоне, розташованому в 160 км від Сеула (Південна Корея).&lt;br /&gt;
&lt;br /&gt;
Союз міжнародних телекомунікацій, директивний орган в галузі інформаційних технологій, докладе зусиль, щоб встановити наступного року стандарти четвертого покоління і завершити цей процес до 2010 року. Корейський інститут прогнозує їх комерціалізацію в 2012 році.&lt;br /&gt;
&lt;br /&gt;
За словами представників інституту, в минулому році була почата розробка технології на загальну суму 18 млрд. вон (19,6 млн доларів), призначених для інвестування протягом наступних 5 років. Це передбачає спільні дослідження з місцевими гігантами в області технологій, таких як Samsung і LG.&lt;br /&gt;
&lt;br /&gt;
За прогнозами інституту, при офіційний запуск стандарту четвертого покоління Нола виникне можливість його застосування в домашній мережі та в інших різних мобільних комунікаціях. Згідно з прогнозами консалтингової компанії Gartner, ринок глобальних домашніх мережі щорічно буде зростати на 16% і до 2010 року досягне 97900000000 доларів.&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;П'яте покоління&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Свого часу одні системи мобільного супутникового зв'язку сильно &amp;quot;промахнулися&amp;quot; з передачею даних, а інші в силу різних причин виявилися нерентабельними або нереалізованими. Тим не менш прогресивне людство робить висновки з попередніх помилок, і сьогодні в ряді країн, і зокрема в США, ведуться розробки в напрямку створення перспективної мережі мобільного зв'язку з використанням супутникового сегмента.&lt;br /&gt;
&lt;br /&gt;
Зокрема, в червні 2008 р. на конференції LinkedData Планета представниками компанії M2mi Corp (США) було приведено опис інфраструктури мережі, яку вони (можливо, всупереч сформованій термінології) назвали &amp;quot;5G&amp;quot;. Зазначена мережа буде являти собою не що інше, як глобальну захищену уніфіковану широкосмугову мережу передачі даних. Як заявляється, на базі даного рішення M2mi корпорація зможе пропонувати на ринку зв'язку:&lt;br /&gt;
&lt;br /&gt;
- захищені бездротові служби даних (бездротові послуги передачі даних);&lt;br /&gt;
 &lt;br /&gt;
- глобальні віртуальні приватні мережі (VPN);&lt;br /&gt;
&lt;br /&gt;
- можливість проведення фінансових операцій з мобільних телефонів;&lt;br /&gt;
&lt;br /&gt;
- мобільний хмарних обчислень.&lt;br /&gt;
&lt;br /&gt;
Мережа &amp;quot;5G&amp;quot; складатиметься з двох основних елементів:&lt;br /&gt;
&lt;br /&gt;
- технологічні розробки компанії машина-машина розвідки (M2mi) Corp, звані &amp;quot;універсальним транслятором&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
- транспортна мережа на базі угруповання наносупутників, розробляється ваемих НАСА.&lt;br /&gt;
&lt;br /&gt;
За словами виконавчого директора корпорації M2mi Джеффа Брауна, розробляються технології призначені для створення середовища, в якому мобільні пристрої бесшовно взаємодіють один з одним в єдиному просторі без втручання людини і без використання телекомунікаційного або Інтернет-з'єднання, лише за принципом сітки поверх Wi-Fi. Система &amp;quot;5G&amp;quot; буде поєднувати системи передачі голосу, відео, даних на основі IP-і Wi-Fi, а також інтелект машини до машини. Розробники стверджують, що рішенню будуть властиві безшовна захищеність, швидкісна і мережева гнучкість, стійкість. M2mi уніфікує інфраструктуру &amp;quot;5G&amp;quot; за допомогою власного програмного забезпечення, яке виступає в ролі автономного &amp;quot;універсального транслятора&amp;quot; між машинами.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Cognitive-radio.jpg]]&lt;br /&gt;
--[[Користувач:Максим|Максим]] 16:36, 8 грудня 2013 (EET)&lt;br /&gt;
За даними офіційного прес-релізу компанії НАСА, мережа &amp;quot;5G&amp;quot; буде реалізована на основі &amp;quot;транспортної&amp;quot; групи низькоорбітальних наносупутників, їх кількість може бути досить значним. Угруповання забезпечить глобальне космічне покриття нової високошвидкісної мережі для сучасних телекомунікацій. У рамках контракту, анонсованого в квітні 2008 р., НАСА у співпраці з M2mi розробить нове покоління компактних наносупутників вагою від 5 до 50 кг, що відрізняються низькою собівартістю і можливістю масового виробництва.&lt;br /&gt;
&lt;br /&gt;
На думку розробників, рішення M2mi корпорації дозволять здійснити перехід від мереж 3G одразу до мереж &amp;quot;5G&amp;quot;, заснованим одночасно на декількох передових технологіях.&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:23g.jpg</id>
		<title>Файл:23g.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:23g.jpg"/>
				<updated>2013-12-08T14:35:20Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: завантажив нову версію «Файл:23g.jpg»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9C%D0%B5%D1%80%D0%B5%D0%B6%D1%96_5G</id>
		<title>Мережі 5G</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9C%D0%B5%D1%80%D0%B5%D0%B6%D1%96_5G"/>
				<updated>2013-12-08T14:08:23Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:5g-iphone_5g-5g_technology-5g_network-5g_korea.jpg|500px|thumb|left|o-lia-lia]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;5G (5-е покоління мобільних мереж або 5-го покоління бездротових систем) назва, що використовується в деяких наукових роботах і проектах для позначення таких основних фаз мобільних телекомунікаційних стандартів після стандартів 4G (як очікується, буде завершена приблизно між 2011 і 2013). В даний час, 5G не є офіційним терміном, використання для будь-якої конкретної специфікації або в будь-яких офіційних документів до опублікування телекомунікаційними компаніями або органами стандартизації, таких як 3GPP, WiMAX Forum і МСЕ-R. Новий стандарт-релізи наступний за 4G в прогресі, органи по стандартизації, але в цей час не розглядаються в якості нового мобільного покоління з реалізації та розгортання систем сумісних з 4G все ще триває;&amp;lt;nowiki&amp;gt;Вставляйте сюди невідформатований текст.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:23g.jpg]]&lt;br /&gt;
&lt;br /&gt;
Цілі: 5G основа телекомунікаційної мережі, а в ідеалі, рішення майбутніх проблем, які виникнуть на моделі 4G після того, як стандарт набуде широкого застосування.&lt;br /&gt;
&lt;br /&gt;
Ключові поняття запропонував в обговоренні наукових робіт 5G і за її межами зв'язку 4G бездротової є:&lt;br /&gt;
Забезпечують розподілених обчислень: користувач може одночасно бути підключені до декількох технологій бездротового доступу і безперешкодно пересуватися між ними (. Дивись ЗМІ незалежної передачі або вертикальної передачі, IEEE 802,21, також повинні бути надані майбутніх версіях 4G Див також множинної адресації.). Ці технології доступу може бути 2.5G, 3G, 4G, 5G або мобільних мереж, Wi-Fi, WPAN, або будь-який інший технології доступу до майбутнього. У 5G, концепція може отримати подальший розвиток у декількох паралельних шляхів передачі даних. &lt;br /&gt;
&lt;br /&gt;
''Група співпраці реле: головна проблема в межі 4G систем, щоб зробити високій швидкості передачі даних доступна в більшій частині клітини, особливо для користувачів в піддається положення між декількома базовими станціями. У сучасних дослідженнях, це питання вирішується за допомогою стільникових ретрансляторів і макро-різноманітність методів, також відомі як група співпраці реле, а також промінь множинний доступ з поділом . Когнітивна технологія радіозв'язку, також відомий як смарт-радіо: дозволяє різним технологіям радіо, щоб один і той же спектр ефективно адаптивно знаходження невикористаних спектру та адаптації схеми передачі до вимог технології в даний час спільного спектра. Це динамічне управління ресурсами радіо досягається в розподіленому режимі, і покладається на радіозв'язку з програмованими параметрами.  Див також IEEE 802,22 стандарт для бездротових регіональних мереж району. Динамічні Adhoc бездротових мереж (ДОН),  в основному ідентичні Мобільний тимчасової мережі (MANET), бездротової комірчастої мережі (WMN) або бездротової мережі, в поєднанні з інтелектуальні антени і гнучкий модуляції. Вандермонда-підпростір з частотним поділом каналів (VFDM): схема модуляції, щоб співіснування макро-клітин і когнітивного радіо малих клітин в дворівневу LTE/4G мережі. IPv6, де відвідини догляду мобільних IP-адреса призначається залежно від місця розташування і підключеної мережі. Висотні стратосферних платформ станції (ССП) систем. Переносні пристрої з можливостями штучного інтелекту.Один єдиного глобального стандарту. Реальна бездротового світу з не більш обмеження доступу та зони питань.'' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Користувач орієнтовані (або стільникового телефону розробник ініціював) мережі концепції, а не з ініціативи оператора (як у 1G) або розробник системи ініційований (як в 2G, 3G і 4G) стандартів &lt;br /&gt;
У всьому світі бездротової мережі (WWW), тобто всеосяжного бездротової основі веб-додатків, які включають повні мультимедійні можливості за межами 4G швидкостях.&lt;br /&gt;
&lt;br /&gt;
Прогноз&lt;br /&gt;
&lt;br /&gt;
Були сім'ї 5G стандартів повинні бути реалізовані,  швидше за все,  близько 2020 року, за деякими даними . Новий мобільний покоління виявився кожен 10-й рік, починаючи з першого 1G системи (NMT) була введена в 1981 році, в тому числі 2G (GSM) системи, які почали розгортати в 1992 році, 3G (W-CDMA/FOMA), яка з'явилася в 2001 році, і &amp;quot;реальні&amp;quot; 4G стандарти виконання IMT-Advanced вимоги, які були ратифіковані в 2011 році і продуктів очікується в 2011-2012 рр.. Попередник технологій відбулися на ринку за кілька років до нової мобільної покоління, наприклад попередньо 3G systemCdmaOne/IS95 в 1995 році і попередньо Системи 4G Mobile WiMAX і LTE в 2005 і 2009 відповідно.&lt;br /&gt;
&lt;br /&gt;
Розвиток 2G (GSM) і 3G (IMT-2000 і UMTS) стандартів пішло близько 10 років з офіційного початку R &amp;amp; D проектів, і розвиток 4G системи почалася в 2001 або 2002 році.  Тим не менш, до цих пір немає транснаціональних проектів розвитку 5G офіційно був запущений, і представники промисловості висловили скептицизм по відношенню до 5G .&lt;br /&gt;
&lt;br /&gt;
Новий мобільний поколінь, як правило, призначаються нові смуги частот і більш широкі спектральні смуги пропускання частотного каналу (1G до 30 кГц, 2G до 200 кГц, 3G до 5 МГц, і 4G до 40 МГц), але скептики стверджують, що немає місця для нових частотних діапазонів або більшою пропускною здатністю каналу.  З точки зору користувача, попередні покоління мобільного увазі істотне збільшення піку бітрейт (тобто фізична чистий шар бітрейтів на короткі відстані зв'язку). Тим не менш, без вихідного коду передбачає 5G пік викачування і завантаження ставки більш ніж на 1 Гбіт, які будуть запропоновані за визначенням МСЕ-R 4G-систем.  Якщо 5G з'являється, і відображає ці прогнози, головна відмінність від точки зору користувача між 4G і 5G методик повинно бути щось інше, збільшити максимальну пропускну здатність, наприклад нижньої енергоспоживання, зниження ймовірності відключення (більш повне охоплення), високої швидкості передачі даних у великих частинах зони покриття, дешевші чи ні плати за з-за низьких витрат на розгортання інфраструктури , і вище сумарною потужністю для багатьох користувачів одночасно (тобто системи вищого рівня ефективності використання спектра). Такі цілі в декількох наукових робіт нижче.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Винайдення технології'''&lt;br /&gt;
&lt;br /&gt;
У Кореї розроблена і успішно продемонстрована нова мобільна телекомунікаційна технологія, яка дозволяє користувачам викачувати за допомогою мобільних терміналів дані на безпрецедентно високій швидкості.&lt;br /&gt;
&lt;br /&gt;
Нова розробка, що отримала назву кочових Доступ до локальної бездротової зони (Нола) дозволяє викачувати інформацію зі швидкістю до 3,6 гігабіт на секунду. За словами розробників з корейського науково-дослідного Інституту електроніки та телекомунікацій, Нола може бути використана в якості базового рішення в майбутніх мережах 5 покоління (5G).&lt;br /&gt;
&lt;br /&gt;
Мережі третього покоління 3G працюють на частотах діапазону близько 2 Ггц, передаючи дані зі швидкістю 2 Мбіт / с. Вони дозволяють організувати відеотелефонний зв'язок, дивитися на мобільному телефоні фільми та телепрограми і т. д. У світі співіснують два стандарти 3G: UMTS (або W-CDMA) і CDMA2000. UMTS поширений в основному в Європі, CDMA2000 - в Азії і США. 4G - це ще більш нова технологія мобільного зв'язку, що характеризується більшою швидкістю передачі даних і підвищеною якістю сигналу і передачі звуку без спотворення. До 4G відносяться технології, які здатні передавати дані зі швидкістю понад 100 Мбіт / с. 4G заснована на протоколах пакетної передачі даних. Для пересилання даних використовується протокол IPv6, а для передачі даних використовуються частоти 40 і 60 Гц.&lt;br /&gt;
&lt;br /&gt;
Нова ж технологія дозволить завантажити повнометражний фільм в DVD-якості всього за кілька секунд. Досі найшвидшим мобільним чіпом була розробка Samsung, яка працювала на швидкості до 1 Гбіт / с в сторону користувача.&lt;br /&gt;
&lt;br /&gt;
«Змагаючись з багатьма країнами у боротьбі за право бути першим на ринку стандартизації комунікацій четвертого покоління, ми успішно розробили та продемонстрували технології володіють швидкістю 3,6 гігабіт на секунду, тим самим, випередивши своїх суперників», - сказав Чой Мун Кі, голова науково- дослідного Інституту електроніки та телекомунікацій, під час демонстрації, проведеної в штаб-квартирі інституту в Течжоне, розташованому в 160 км від Сеула (Південна Корея).&lt;br /&gt;
&lt;br /&gt;
Союз міжнародних телекомунікацій, директивний орган в галузі інформаційних технологій, докладе зусиль, щоб встановити наступного року стандарти четвертого покоління і завершити цей процес до 2010 року. Корейський інститут прогнозує їх комерціалізацію в 2012 році.&lt;br /&gt;
&lt;br /&gt;
За словами представників інституту, в минулому році була почата розробка технології на загальну суму 18 млрд. вон (19,6 млн доларів), призначених для інвестування протягом наступних 5 років. Це передбачає спільні дослідження з місцевими гігантами в області технологій, таких як Samsung і LG.&lt;br /&gt;
&lt;br /&gt;
За прогнозами інституту, при офіційний запуск стандарту четвертого покоління Нола виникне можливість його застосування в домашній мережі та в інших різних мобільних комунікаціях. Згідно з прогнозами консалтингової компанії Gartner, ринок глобальних домашніх мережі щорічно буде зростати на 16% і до 2010 року досягне 97900000000 доларів.&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;П'яте покоління&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Свого часу одні системи мобільного супутникового зв'язку сильно &amp;quot;промахнулися&amp;quot; з передачею даних, а інші в силу різних причин виявилися нерентабельними або нереалізованими. Тим не менш прогресивне людство робить висновки з попередніх помилок, і сьогодні в ряді країн, і зокрема в США, ведуться розробки в напрямку створення перспективної мережі мобільного зв'язку з використанням супутникового сегмента.&lt;br /&gt;
&lt;br /&gt;
Зокрема, в червні 2008 р. на конференції LinkedData Планета представниками компанії M2mi Corp (США) було приведено опис інфраструктури мережі, яку вони (можливо, всупереч сформованій термінології) назвали &amp;quot;5G&amp;quot;. Зазначена мережа буде являти собою не що інше, як глобальну захищену уніфіковану широкосмугову мережу передачі даних. Як заявляється, на базі даного рішення M2mi корпорація зможе пропонувати на ринку зв'язку:&lt;br /&gt;
&lt;br /&gt;
- захищені бездротові служби даних (бездротові послуги передачі даних);&lt;br /&gt;
 &lt;br /&gt;
- глобальні віртуальні приватні мережі (VPN);&lt;br /&gt;
&lt;br /&gt;
- можливість проведення фінансових операцій з мобільних телефонів;&lt;br /&gt;
&lt;br /&gt;
- мобільний хмарних обчислень.&lt;br /&gt;
&lt;br /&gt;
Мережа &amp;quot;5G&amp;quot; складатиметься з двох основних елементів:&lt;br /&gt;
&lt;br /&gt;
- технологічні розробки компанії машина-машина розвідки (M2mi) Corp, звані &amp;quot;універсальним транслятором&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
- транспортна мережа на базі угруповання наносупутників, розробляється ваемих НАСА.&lt;br /&gt;
&lt;br /&gt;
За словами виконавчого директора корпорації M2mi Джеффа Брауна, розробляються технології призначені для створення середовища, в якому мобільні пристрої бесшовно взаємодіють один з одним в єдиному просторі без втручання людини і без використання телекомунікаційного або Інтернет-з'єднання, лише за принципом сітки поверх Wi-Fi. Система &amp;quot;5G&amp;quot; буде поєднувати системи передачі голосу, відео, даних на основі IP-і Wi-Fi, а також інтелект машини до машини. Розробники стверджують, що рішенню будуть властиві безшовна захищеність, швидкісна і мережева гнучкість, стійкість. M2mi уніфікує інфраструктуру &amp;quot;5G&amp;quot; за допомогою власного програмного забезпечення, яке виступає в ролі автономного &amp;quot;універсального транслятора&amp;quot; між машинами.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Cognitive-radio.jpg]]&lt;br /&gt;
&lt;br /&gt;
За даними офіційного прес-релізу компанії НАСА, мережа &amp;quot;5G&amp;quot; буде реалізована на основі &amp;quot;транспортної&amp;quot; групи низькоорбітальних наносупутників, їх кількість може бути досить значним. Угруповання забезпечить глобальне космічне покриття нової високошвидкісної мережі для сучасних телекомунікацій. У рамках контракту, анонсованого в квітні 2008 р., НАСА у співпраці з M2mi розробить нове покоління компактних наносупутників вагою від 5 до 50 кг, що відрізняються низькою собівартістю і можливістю масового виробництва.&lt;br /&gt;
&lt;br /&gt;
На думку розробників, рішення M2mi корпорації дозволять здійснити перехід від мереж 3G одразу до мереж &amp;quot;5G&amp;quot;, заснованим одночасно на декількох передових технологіях.&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:23g.jpg</id>
		<title>Файл:23g.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:23g.jpg"/>
				<updated>2013-12-08T14:07:50Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9C%D0%B5%D1%80%D0%B5%D0%B6%D1%96_5G</id>
		<title>Мережі 5G</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9C%D0%B5%D1%80%D0%B5%D0%B6%D1%96_5G"/>
				<updated>2013-12-08T14:05:24Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:5g-iphone_5g-5g_technology-5g_network-5g_korea.jpg|500px|thumb|left|o-lia-lia]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;5G (5-е покоління мобільних мереж або 5-го покоління бездротових систем) назва, що використовується в деяких наукових роботах і проектах для позначення таких основних фаз мобільних телекомунікаційних стандартів після стандартів 4G (як очікується, буде завершена приблизно між 2011 і 2013). В даний час, 5G не є офіційним терміном, використання для будь-якої конкретної специфікації або в будь-яких офіційних документів до опублікування телекомунікаційними компаніями або органами стандартизації, таких як 3GPP, WiMAX Forum і МСЕ-R. Новий стандарт-релізи наступний за 4G в прогресі, органи по стандартизації, але в цей час не розглядаються в якості нового мобільного покоління з реалізації та розгортання систем сумісних з 4G все ще триває;&amp;lt;nowiki&amp;gt;Вставляйте сюди невідформатований текст.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Файл:1g2g3g4g.jpg]]&lt;br /&gt;
&lt;br /&gt;
Цілі: 5G основа телекомунікаційної мережі, а в ідеалі, рішення майбутніх проблем, які виникнуть на моделі 4G після того, як стандарт набуде широкого застосування.&lt;br /&gt;
&lt;br /&gt;
Ключові поняття запропонував в обговоренні наукових робіт 5G і за її межами зв'язку 4G бездротової є:&lt;br /&gt;
Забезпечують розподілених обчислень: користувач може одночасно бути підключені до декількох технологій бездротового доступу і безперешкодно пересуватися між ними (. Дивись ЗМІ незалежної передачі або вертикальної передачі, IEEE 802,21, також повинні бути надані майбутніх версіях 4G Див також множинної адресації.). Ці технології доступу може бути 2.5G, 3G, 4G, 5G або мобільних мереж, Wi-Fi, WPAN, або будь-який інший технології доступу до майбутнього. У 5G, концепція може отримати подальший розвиток у декількох паралельних шляхів передачі даних. &lt;br /&gt;
&lt;br /&gt;
''Група співпраці реле: головна проблема в межі 4G систем, щоб зробити високій швидкості передачі даних доступна в більшій частині клітини, особливо для користувачів в піддається положення між декількома базовими станціями. У сучасних дослідженнях, це питання вирішується за допомогою стільникових ретрансляторів і макро-різноманітність методів, також відомі як група співпраці реле, а також промінь множинний доступ з поділом . Когнітивна технологія радіозв'язку, також відомий як смарт-радіо: дозволяє різним технологіям радіо, щоб один і той же спектр ефективно адаптивно знаходження невикористаних спектру та адаптації схеми передачі до вимог технології в даний час спільного спектра. Це динамічне управління ресурсами радіо досягається в розподіленому режимі, і покладається на радіозв'язку з програмованими параметрами.  Див також IEEE 802,22 стандарт для бездротових регіональних мереж району. Динамічні Adhoc бездротових мереж (ДОН),  в основному ідентичні Мобільний тимчасової мережі (MANET), бездротової комірчастої мережі (WMN) або бездротової мережі, в поєднанні з інтелектуальні антени і гнучкий модуляції. Вандермонда-підпростір з частотним поділом каналів (VFDM): схема модуляції, щоб співіснування макро-клітин і когнітивного радіо малих клітин в дворівневу LTE/4G мережі. IPv6, де відвідини догляду мобільних IP-адреса призначається залежно від місця розташування і підключеної мережі. Висотні стратосферних платформ станції (ССП) систем. Переносні пристрої з можливостями штучного інтелекту.Один єдиного глобального стандарту. Реальна бездротового світу з не більш обмеження доступу та зони питань.'' &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Користувач орієнтовані (або стільникового телефону розробник ініціював) мережі концепції, а не з ініціативи оператора (як у 1G) або розробник системи ініційований (як в 2G, 3G і 4G) стандартів &lt;br /&gt;
У всьому світі бездротової мережі (WWW), тобто всеосяжного бездротової основі веб-додатків, які включають повні мультимедійні можливості за межами 4G швидкостях.&lt;br /&gt;
&lt;br /&gt;
Прогноз&lt;br /&gt;
&lt;br /&gt;
Були сім'ї 5G стандартів повинні бути реалізовані,  швидше за все,  близько 2020 року, за деякими даними . Новий мобільний покоління виявився кожен 10-й рік, починаючи з першого 1G системи (NMT) була введена в 1981 році, в тому числі 2G (GSM) системи, які почали розгортати в 1992 році, 3G (W-CDMA/FOMA), яка з'явилася в 2001 році, і &amp;quot;реальні&amp;quot; 4G стандарти виконання IMT-Advanced вимоги, які були ратифіковані в 2011 році і продуктів очікується в 2011-2012 рр.. Попередник технологій відбулися на ринку за кілька років до нової мобільної покоління, наприклад попередньо 3G systemCdmaOne/IS95 в 1995 році і попередньо Системи 4G Mobile WiMAX і LTE в 2005 і 2009 відповідно.&lt;br /&gt;
&lt;br /&gt;
Розвиток 2G (GSM) і 3G (IMT-2000 і UMTS) стандартів пішло близько 10 років з офіційного початку R &amp;amp; D проектів, і розвиток 4G системи почалася в 2001 або 2002 році.  Тим не менш, до цих пір немає транснаціональних проектів розвитку 5G офіційно був запущений, і представники промисловості висловили скептицизм по відношенню до 5G .&lt;br /&gt;
&lt;br /&gt;
Новий мобільний поколінь, як правило, призначаються нові смуги частот і більш широкі спектральні смуги пропускання частотного каналу (1G до 30 кГц, 2G до 200 кГц, 3G до 5 МГц, і 4G до 40 МГц), але скептики стверджують, що немає місця для нових частотних діапазонів або більшою пропускною здатністю каналу.  З точки зору користувача, попередні покоління мобільного увазі істотне збільшення піку бітрейт (тобто фізична чистий шар бітрейтів на короткі відстані зв'язку). Тим не менш, без вихідного коду передбачає 5G пік викачування і завантаження ставки більш ніж на 1 Гбіт, які будуть запропоновані за визначенням МСЕ-R 4G-систем.  Якщо 5G з'являється, і відображає ці прогнози, головна відмінність від точки зору користувача між 4G і 5G методик повинно бути щось інше, збільшити максимальну пропускну здатність, наприклад нижньої енергоспоживання, зниження ймовірності відключення (більш повне охоплення), високої швидкості передачі даних у великих частинах зони покриття, дешевші чи ні плати за з-за низьких витрат на розгортання інфраструктури , і вище сумарною потужністю для багатьох користувачів одночасно (тобто системи вищого рівня ефективності використання спектра). Такі цілі в декількох наукових робіт нижче.&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Винайдення технології'''&lt;br /&gt;
&lt;br /&gt;
У Кореї розроблена і успішно продемонстрована нова мобільна телекомунікаційна технологія, яка дозволяє користувачам викачувати за допомогою мобільних терміналів дані на безпрецедентно високій швидкості.&lt;br /&gt;
&lt;br /&gt;
Нова розробка, що отримала назву кочових Доступ до локальної бездротової зони (Нола) дозволяє викачувати інформацію зі швидкістю до 3,6 гігабіт на секунду. За словами розробників з корейського науково-дослідного Інституту електроніки та телекомунікацій, Нола може бути використана в якості базового рішення в майбутніх мережах 5 покоління (5G).&lt;br /&gt;
&lt;br /&gt;
Мережі третього покоління 3G працюють на частотах діапазону близько 2 Ггц, передаючи дані зі швидкістю 2 Мбіт / с. Вони дозволяють організувати відеотелефонний зв'язок, дивитися на мобільному телефоні фільми та телепрограми і т. д. У світі співіснують два стандарти 3G: UMTS (або W-CDMA) і CDMA2000. UMTS поширений в основному в Європі, CDMA2000 - в Азії і США. 4G - це ще більш нова технологія мобільного зв'язку, що характеризується більшою швидкістю передачі даних і підвищеною якістю сигналу і передачі звуку без спотворення. До 4G відносяться технології, які здатні передавати дані зі швидкістю понад 100 Мбіт / с. 4G заснована на протоколах пакетної передачі даних. Для пересилання даних використовується протокол IPv6, а для передачі даних використовуються частоти 40 і 60 Гц.&lt;br /&gt;
&lt;br /&gt;
Нова ж технологія дозволить завантажити повнометражний фільм в DVD-якості всього за кілька секунд. Досі найшвидшим мобільним чіпом була розробка Samsung, яка працювала на швидкості до 1 Гбіт / с в сторону користувача.&lt;br /&gt;
&lt;br /&gt;
«Змагаючись з багатьма країнами у боротьбі за право бути першим на ринку стандартизації комунікацій четвертого покоління, ми успішно розробили та продемонстрували технології володіють швидкістю 3,6 гігабіт на секунду, тим самим, випередивши своїх суперників», - сказав Чой Мун Кі, голова науково- дослідного Інституту електроніки та телекомунікацій, під час демонстрації, проведеної в штаб-квартирі інституту в Течжоне, розташованому в 160 км від Сеула (Південна Корея).&lt;br /&gt;
&lt;br /&gt;
Союз міжнародних телекомунікацій, директивний орган в галузі інформаційних технологій, докладе зусиль, щоб встановити наступного року стандарти четвертого покоління і завершити цей процес до 2010 року. Корейський інститут прогнозує їх комерціалізацію в 2012 році.&lt;br /&gt;
&lt;br /&gt;
За словами представників інституту, в минулому році була почата розробка технології на загальну суму 18 млрд. вон (19,6 млн доларів), призначених для інвестування протягом наступних 5 років. Це передбачає спільні дослідження з місцевими гігантами в області технологій, таких як Samsung і LG.&lt;br /&gt;
&lt;br /&gt;
За прогнозами інституту, при офіційний запуск стандарту четвертого покоління Нола виникне можливість його застосування в домашній мережі та в інших різних мобільних комунікаціях. Згідно з прогнозами консалтингової компанії Gartner, ринок глобальних домашніх мережі щорічно буде зростати на 16% і до 2010 року досягне 97900000000 доларів.&lt;br /&gt;
&lt;br /&gt;
'''&amp;quot;П'яте покоління&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
Свого часу одні системи мобільного супутникового зв'язку сильно &amp;quot;промахнулися&amp;quot; з передачею даних, а інші в силу різних причин виявилися нерентабельними або нереалізованими. Тим не менш прогресивне людство робить висновки з попередніх помилок, і сьогодні в ряді країн, і зокрема в США, ведуться розробки в напрямку створення перспективної мережі мобільного зв'язку з використанням супутникового сегмента.&lt;br /&gt;
&lt;br /&gt;
Зокрема, в червні 2008 р. на конференції LinkedData Планета представниками компанії M2mi Corp (США) було приведено опис інфраструктури мережі, яку вони (можливо, всупереч сформованій термінології) назвали &amp;quot;5G&amp;quot;. Зазначена мережа буде являти собою не що інше, як глобальну захищену уніфіковану широкосмугову мережу передачі даних. Як заявляється, на базі даного рішення M2mi корпорація зможе пропонувати на ринку зв'язку:&lt;br /&gt;
&lt;br /&gt;
- захищені бездротові служби даних (бездротові послуги передачі даних);&lt;br /&gt;
 &lt;br /&gt;
- глобальні віртуальні приватні мережі (VPN);&lt;br /&gt;
&lt;br /&gt;
- можливість проведення фінансових операцій з мобільних телефонів;&lt;br /&gt;
&lt;br /&gt;
- мобільний хмарних обчислень.&lt;br /&gt;
&lt;br /&gt;
Мережа &amp;quot;5G&amp;quot; складатиметься з двох основних елементів:&lt;br /&gt;
&lt;br /&gt;
- технологічні розробки компанії машина-машина розвідки (M2mi) Corp, звані &amp;quot;універсальним транслятором&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
- транспортна мережа на базі угруповання наносупутників, розробляється ваемих НАСА.&lt;br /&gt;
&lt;br /&gt;
За словами виконавчого директора корпорації M2mi Джеффа Брауна, розробляються технології призначені для створення середовища, в якому мобільні пристрої бесшовно взаємодіють один з одним в єдиному просторі без втручання людини і без використання телекомунікаційного або Інтернет-з'єднання, лише за принципом сітки поверх Wi-Fi. Система &amp;quot;5G&amp;quot; буде поєднувати системи передачі голосу, відео, даних на основі IP-і Wi-Fi, а також інтелект машини до машини. Розробники стверджують, що рішенню будуть властиві безшовна захищеність, швидкісна і мережева гнучкість, стійкість. M2mi уніфікує інфраструктуру &amp;quot;5G&amp;quot; за допомогою власного програмного забезпечення, яке виступає в ролі автономного &amp;quot;універсального транслятора&amp;quot; між машинами.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Cognitive-radio.jpg]]&lt;br /&gt;
&lt;br /&gt;
За даними офіційного прес-релізу компанії НАСА, мережа &amp;quot;5G&amp;quot; буде реалізована на основі &amp;quot;транспортної&amp;quot; групи низькоорбітальних наносупутників, їх кількість може бути досить значним. Угруповання забезпечить глобальне космічне покриття нової високошвидкісної мережі для сучасних телекомунікацій. У рамках контракту, анонсованого в квітні 2008 р., НАСА у співпраці з M2mi розробить нове покоління компактних наносупутників вагою від 5 до 50 кг, що відрізняються низькою собівартістю і можливістю масового виробництва.&lt;br /&gt;
&lt;br /&gt;
На думку розробників, рішення M2mi корпорації дозволять здійснити перехід від мереж 3G одразу до мереж &amp;quot;5G&amp;quot;, заснованим одночасно на декількох передових технологіях.&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Cognitive-radio.jpg</id>
		<title>Файл:Cognitive-radio.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Cognitive-radio.jpg"/>
				<updated>2013-12-08T14:04:38Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:1g2g3g4g.jpg</id>
		<title>Файл:1g2g3g4g.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:1g2g3g4g.jpg"/>
				<updated>2013-12-08T14:03:32Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_Bluetooth</id>
		<title>Технологія Bluetooth</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_Bluetooth"/>
				<updated>2013-12-08T13:56:15Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Вступ до теми Bluetooth =&lt;br /&gt;
[[Файл:Bluetooth.png|thumb|Логотип Bluetooth]]&lt;br /&gt;
Специфікація Bluetooth була розроблена групою Bluetooth Special Interest Group (Bluetooth SIG), яка була заснована 20 травня 1998 році. У неї увійшли компанії Ericsson, IBM, Intel, Toshiba і Nokia. Потім багато компаній, включаючи Microsoft, Lenovo і Motorola, вступили в неї як асоційовані члени. Будь-яка компанія, яка планує розробляти пристрої Bluetooth, може безкоштовно увійти в цю групу. У SIG вже складається близько 2000 компаній. Згодом Bluetooth SIG і IEEE досягли угоди, на основі якої специфікація Bluetooth стало частиною стандарту IEEE 802.15.1. Роботи із створення Bluetooth компанія Ericsson Mobile Communication почала в 1994 році. Спочатку ця технологія була пристосована під потреби системи FLYWAY у функціональному інтерфейсі між мандрівниками та системою.&lt;br /&gt;
&lt;br /&gt;
'''Назва Bluetooth''' (&amp;quot;синій зуб&amp;quot;) походить від прізвища середньовічного короля Данії Гаральда I Синєзубого (норв. Harald Blåtann). Гаральд вмів посадити за стіл переговорів ворогуючі партії, домовляючись з кожною партією окремо, тому назва Bluetooth стала відповідним ім'ям для технології, що дозволяє різним пристроям спілкуватися один з одним. Використовуючи перші літери імені короля (руни B та H) у комбінації, створено й логотип технології.&lt;br /&gt;
&lt;br /&gt;
На відміну від технології інфрачервоного зв'язку IrDA (Infrared Direct Access), що працює за принципом &amp;quot;точка-точка&amp;quot; в зоні прямої видимості, технологія Bluetooth розроблялася для роботи як за принципом &amp;quot;точка-точка&amp;quot;, так і в якості багатоточкового радіоканалу, керованого багаторівневим протоколом , схожим на протокол мобільного зв'язку GSM. Bluetooth стала конкурентом таких технологій, як IEEE 802.11, HomeRF і IrDA, хоча остання і не призначена для побудови локальних мереж, але є найпоширенішою технологією бездротового з'єднання комп'ютерів і периферійних пристроїв. &lt;br /&gt;
&lt;br /&gt;
''Основне призначення Bluetooth'' - забезпечення економного (з точки зору споживаного струму) і дешевого радіозв'язку між різноманітними типами електронних пристроїв. Причому, велике значення приділяється компактності електронних компонентів, що дає можливість застосовувати Bluetooth у малогабаритних пристроях розміром з наручний годинник. Bluetooth забезпечує обмін інформацією між такими пристроями як кишенькові і звичайні персональні комп'ютери, мобільні телефони, ноутбуки, принтери, цифрові фотоапарати, мишки, клавіатури, джойстики, навушники, гарнітури на надійній та недорогій радіочастоті для ближнього зв'язку. Bluetooth дозволяє цим пристроям обмінюватись інформацією, коли вони знаходяться в радіусі від 10 до 100 метрів один від одного, навіть в різних приміщеннях. Дальність дуже сильно залежить від механічних та радіо перешкод.&lt;br /&gt;
&lt;br /&gt;
Технологія Bluetooth спеціально розроблена для забезпечення дешевою, стійкої, ефективної, високоємного зв'язку, для роботи з голосом і передачі даних, з наступними '''характеристиками:'''&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:1.Швидкість передачі / прийому 1 Мбіт / с, при використанні каналу з максимально можливою шириною смуги.&amp;lt;br/&amp;gt;&lt;br /&gt;
:2.Швидкі перемикання частоти, щоб уникнути інтерференції.&amp;lt;br/&amp;gt;&lt;br /&gt;
:3.Адаптивна вихідна потужність для мінімізації перешкод.&amp;lt;br/&amp;gt;&lt;br /&gt;
:4.Короткі пакети даних для мінімізації потужності під час перешкод.&amp;lt;br/&amp;gt;&lt;br /&gt;
:5.Швидке впізнання (підтвердження).&amp;lt;br/&amp;gt;&lt;br /&gt;
:6.CVSD (Continuous Variable Slope Delta Modulation) голосове кодування, яке дає можливість роботи з високими частотами помилок по :бітам.&amp;lt;br/&amp;gt;&lt;br /&gt;
:7.Гнучкі типи пакетів, які підтримують широкий спектр додатків.&amp;lt;br/&amp;gt;&lt;br /&gt;
:8.Ненапружений &amp;quot;бюджет зв'язку&amp;quot;, що підтримує недорогу інтеграцію окремих елементарних сигналів.&amp;lt;br/&amp;gt;&lt;br /&gt;
:9.Інтерфейс передачі / прийому, спеціально пристосований для мінімізації енергоспоживання.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ці властивості дають технології Bluetooth можливість забезпечувати надзвичайно гнучкий зв'язок з високими швидкостями передачі даних навіть за наявності серйозних перешкод. При завідомо хорошому прийомі в сприятливих умовах передачі сигналу, в міру посилення перешкод, падіння якості переданого сигналу буде залишатися мінімальним і поступовим, що дає можливість збереження стабільного зв'язку.&lt;br /&gt;
&lt;br /&gt;
Bluetooth має RF (Radio Frequency) специфікації для передачі голосу і даних на короткі відстані, &amp;quot;точка-мультиточка&amp;quot;.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А). Ці числа декларуються стандартом для прямої видимості, в реальності не варто чекати роботу на відстані більше 10-20 метрів. Такого дальнодії недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацьовування алгоритмів атаки, на Defcon-2004 публіці була представлена антена-гвинтівка BlueSniper, розроблена Джонном Херінгтоном (John Herington). Пристрій підключається до портативного пристрою ноутбуку/КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км.)&lt;br /&gt;
&lt;br /&gt;
= Принцип дії Bluetooth =&lt;br /&gt;
&lt;br /&gt;
Радіозв'язок Bluetooth здійснюється в '''ISM''' діапазоні (англ. Industry, Science and Medicine - смуга промислового, наукового та медичного застосування), який використовується в різних побутових приладах і безпровідних мережах (вільний від ліцензування діапазон 2,4-2,4835 Ггц). Спектр сигналу формується по методу FHSS (Frequency Hopping Spread Spectrum  псевдовипадкова перебудова робочої частоти). Метод FHSS простий в реалізації, забезпечує стійкість до широкосмугових перешкод, а устаткування коштує недорого.&lt;br /&gt;
&lt;br /&gt;
Згідно '''алгоритму FHSS''', в Bluetooth частота сигналу, що несе, стрибкоподібно міняється 1600 разів в секунду (всього виділяється 79 робочих частот шириною в 1 Мгц, а в Японії, Франції і Іспанії смуга вже  23 частотних каналу). Послідовність перемикання між частотами для кожного з'єднання є псевдовипадковою і відома тільки передавачу і приймачу, які кожні 625 мкс (один часовий слот) синхронно перебудовуються з однієї частоти, що несе, на іншу. Таким чином, якщо поряд працюють декілька пар приймач-передавач, то вони не заважають один одному. Цей алгоритм є також складовою частиною системи захисту конфіденційності передаваної інформації: перехід відбувається по псевдовипадковому алгоритму і визначається окремо для кожного з'єднання. При передачі цифрових даних і аудіосигналу (64 Кбіт/с в обох напрямах) використовуються різні схеми кодування: аудио-сигнал не повторюється (як правило), а цифрові дані у разі втрати пакету інформації будуть передані повторно. Без перешкодостійкого кодування це забезпечує передачу даних зі швидкостями 723,2 Кбіт/с із зворотним каналом 57,6 Кбіт/с, або 433,9 Кбіт/c в обох напрямах.&lt;br /&gt;
&lt;br /&gt;
Для '''повнодуплексної''' передачі використовується '''дуплексний''' режим з тимчасовим розділенням (TDD). Підтримується ''ізохронна'' і ''асинхронна'' передача даних і забезпечується проста інтеграція з TCP / IP. Енергоспоживання пристроїв Bluetooth має бути в межах 0.1 Вт. Кожен пристрій має унікальну 48-бітову мережеву адресу, сумісний з форматом стандарту локальних мереж IEEE 802.&lt;br /&gt;
&lt;br /&gt;
= Специфікації Bluetooth =&lt;br /&gt;
&lt;br /&gt;
== Bluetooth 1.0 ==&lt;br /&gt;
&lt;br /&gt;
Пристрої версій 1.0 (1998) і 1.0B мали погану сумісність між продуктами різних виробників. У 1.0 і 1.0B була обов'язковою передача адреси пристрою (BD_ADDR) на етапі встановлення зв'язку, що робило неможливою реалізацію анонімності з'єднання на протокольному рівні і було основним недоліком даної специфікації.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth 1.1 ==&lt;br /&gt;
&lt;br /&gt;
У Bluetooth 1.1 було виправлено безліч помилок, знайдених в 1.0B, ''додана підтримка для нешифрованих каналів, індикація рівня потужності сигналу'', що приймається (RSSI).&lt;br /&gt;
&lt;br /&gt;
== Bluetooth 1.2 ==&lt;br /&gt;
&lt;br /&gt;
У версії 1.2 була додана технологія адаптивної перебудови робочої частоти (AFH), що поліпшило опірність до електромагнітної інтерференції (перешкод) шляхом використання рознесених частот в послідовності перебудови. Також збільшилася швидкість передачі і додалася технологія eSCO, яка покращувала якість передачі голосу шляхом повторення пошкоджених пакетів. У HCI додалася підтримка трьох-провідного інтерфейсу UART.&lt;br /&gt;
&lt;br /&gt;
Головні поліпшення включають наступне:&lt;br /&gt;
&lt;br /&gt;
    •Швидке підключення і виявлення.&lt;br /&gt;
    •Адаптивна перебудова частоти з розширеним спектром (AFH), яка підвищує стійкість до радіоперешкод.&lt;br /&gt;
    •Вищі, ніж у 1.1, швидкості передачі даних, практично до 721 кбіт / с.&lt;br /&gt;
    •Розширені Синхронні Підключення (eSCO), які покращують якість передачі голосу в аудіопотоку, дозволяючи повторну передачу пошкоджених пакетів, і при необхідності можуть збільшити затримку аудіо, щоб надати кращу підтримку для паралельної передачі даних.&lt;br /&gt;
    •В Host Controller Interface (HCI) додана підтримка трипровідною інтерфейсу UART.&lt;br /&gt;
    •Затверджено як стандарт IEEE Standard 802.15.1-2005.&lt;br /&gt;
    Введені режими управління потоком даних (Flow Control) і повторної передачі (Retransmission Modes) для L2CAP.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth 2.0 + EDR ==&lt;br /&gt;
&lt;br /&gt;
Bluetooth версії 2.0 був випущений 10 листопада 2004 Має зворотну сумісність з попередніми версіями 1.x. Основним нововведенням стала підтримка Enhanced Data Rate (EDR) для прискорення передачі даних. Номінальна швидкість EDR близько 3 Мбіт / с, проте на практиці це дозволило підвищити швидкість передачі даних тільки до 2,1 Мбіт / с. Додаткова продуктивність досягається за допомогою різних радіо технологій для передачі даних.&lt;br /&gt;
&lt;br /&gt;
Стандартна (базова) швидкість передачі даних використовує GFSK-модуляцію радіосигналу при швидкості передачі в 1 Мбіт / с. EDR використовує поєднання модуляцій GFSK і PSK з двома варіантами, π/4-DQPSK і 8DPSK. Вони мають великі швидкості передачі даних по повітрю — 2 і 3 Мбіт / с відповідно.&lt;br /&gt;
&lt;br /&gt;
Bluetooth SIG видала специфікацію як «Технологія Bluetooth 2.0 + EDR», яка передбачає, що EDR є додатковою функцією. Крім EDR є й інші незначні удосконалення до 2.0 специфікації, і продукти можуть відповідати «Технології Bluetooth 2.0», не підтримуючи вищу швидкість передачі даних. Принаймні одне комерційне пристрій, HTC TyTN Pocket PC, використовує «Bluetooth 2.0 без EDR» у своїх технічних специфікаціях.&lt;br /&gt;
&lt;br /&gt;
Згідно з 2.0 + EDR специфікацією, EDR забезпечує наступні переваги:&lt;br /&gt;
&lt;br /&gt;
    •Збільшення швидкості передачі в 3 рази (2,1 Мбіт / с) в деяких випадках.&lt;br /&gt;
    •Зменшення складності декількох одночасних підключень через додаткової смуги пропускання.&lt;br /&gt;
    •Нижче споживання енергії завдяки зменшенню навантаження.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth 2.1 ==&lt;br /&gt;
&lt;br /&gt;
У Bluetooth версії 2.1 (2007) додана ''технологія розширеного запиту характеристик пристрою'' (для додаткової фільтрації списку при спряжуванні), ''енергозберігаюча технологія'' (Sniff Subrating), яка дозволяє збільшити тривалість роботи пристрою від одного заряду акумулятора в 3-10 разів. Крім того оновлена специфікація істотно спрощує і прискорює встановлення зв'язку між двома пристроями, дозволяє проводити оновлення ключа шифрування без розриву з'єднання, а також робить вказані з'єднання захищенішими, завдяки використанню технології Near Field Communication.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth 3.0 ==&lt;br /&gt;
&lt;br /&gt;
Робоча група з розробки стандарту бездротової передачі даних Bluetooth, 21 квітня 2009 випускає специфікацію Bluetooth 3.0. Модулі з підтримкою нової специфікації поєднуватимуть в собі дві радіосистеми. Перша, з низьким енергоспоживанням, забезпечує передачу даних на звичайній для другої версії Bluetooth швидкості в три мегабіти в секунду. Інша, високошвидкісна і сумісна із ''стандартом 802.11'', забезпечує швидкості, порівнянні із швидкістю мереж '''Wi-Fi'''. Варто відзначити, що Bluetooth 3.0 використовує стандарт 802.11 без суфікса, тобто формально не сумісний з такими специфікаціями Wi-Fi, як 802.11b/g або 802.11n. 802.11 — загальніший стандарт. Використання тієї або іншої радіосистеми залежить від розміру передаваного файлу. Невеликі файли передаватимуться по повільному каналу, а великі — по високошвидкісному. Після закінчення передачі модуль повернеться в режим зниженого енергоспоживання. Крім того, в Bluetooth 3.0 з'явиться можливість під назвою ''&amp;quot;розширений контроль живлення&amp;quot;'' (Enhanced Power Control). Вона дозволяє уникнути розриву з'єднання, якщо пристрій поклали в сумку або в кишеню.&lt;br /&gt;
&lt;br /&gt;
== Bluetooth 4.0 ==&lt;br /&gt;
&lt;br /&gt;
В грудні 2009 консорціум Bluetooth SIG анонсував ''стандарт Bluetooth 4.0 для електронних датчиків''. Новий стандарт ''призначений для передачі коротких пакетів'' даних обсягом по 8-27 байт зі швидкістю 1 Мбіт/с. Для порівняння, Bluetooth 3.0, розробка якого була завершена в квітні 2008, дозволяє передавати дані зі швидкістю до 24 Мбіт/с, але і призначений він для іншої сфери застосування. &lt;br /&gt;
&lt;br /&gt;
'''Bluetooth 4.0 планується використовувати''' в мініатюрних сенсорах, що розміщуються на тілі пацієнтів, в спортивного взуття, тренажерах тощо. Сенсори на базі нового стандарту зможуть передавати різну інформацію з навколишнього світу — температуру, тиск, вологість, швидкість пересування і так далі - на різні пристрої контролю, включаючи мобільні телефони. За словами представників консорціуму, окремий стандарт був розроблений у зв'язку з тим, що Bluetooth 3.0 і більш ранні версії не в змозі забезпечити необхідний низький рівень енергоспоживання. &lt;br /&gt;
&lt;br /&gt;
Перший чіп з одночасною підтримкою Bluetooth 4.0 і 3.0 випустив ST-Ericsson.&lt;br /&gt;
&lt;br /&gt;
= Означення по темі технологія Bluetooth =&lt;br /&gt;
&lt;br /&gt;
• '''Піконет''' - &amp;quot;пікомережа&amp;quot;:&lt;br /&gt;
набір пристроїв, з'єднаних через технологію Bluetooth спеціальним способом. Піконет починається з двох з'єднаних пристроїв, таких як портативний ПК і стільниковий телефон, і може розростатися до восьми з'єднаних пристроїв ось чому потрібний адресний простір обмежений 3 бітами). Всі пристрої Bluetooth є одноранговими пристроями і мають ідентичну реалізацію. Однак при установці піконет один пристрій буде діяти як майстер для цілей синхронізації, а інший (і) - як слейв (и) для підтримки піконет-з'єднання.&lt;br /&gt;
&lt;br /&gt;
• '''Scatternet''' - &amp;quot;мережа розкиду&amp;quot;: Дві або більше незалежних і несинхронізованих мережі піконет, взаємодіючих між собою. Як показано на, пристрій-слейв, так само, як і пристрій-майстер в одній мережі піконет можуть встановлювати таке з'єднання, стаючи слейвом в іншій мережі піконет.&lt;br /&gt;
&lt;br /&gt;
• '''Пристрій майстер:''' пристрій у піконет, в якому генерація синхронизирующих імпульсів і послідовність стрибків використовуються для синхронізації всіх інших пристроїв у піконет.&lt;br /&gt;
&lt;br /&gt;
• '''Пристрій слейв:''' всі пристрої в піконет, які не є майстром (до 7 активних пристроїв на кожен пристрій майстер).&lt;br /&gt;
&lt;br /&gt;
• '''MAC-адреса:''' 3-бітний Media Access Control адреса, що використовується для розрізнення пристроїв, включених у піконет.&lt;br /&gt;
&lt;br /&gt;
• '''Парковані пристрої:''' пристрою в піконет, які синхронізовані, але не мають MAC-адрес.&lt;br /&gt;
&lt;br /&gt;
• '''Sniff Mode''' і '''Hold Mode:''' пристрої, синхронізовані в піконет і мають тимчасово введені режими збереження енергії, в яких активність пристроїв знижена.&lt;br /&gt;
&lt;br /&gt;
• '''Ad-hoc network''' (спеціальна мережа) - просто мережа, в якій взаємодії встановлюються між комплексними станціями в даній області покриття без використання точки доступу або сервера.&lt;br /&gt;
&lt;br /&gt;
• '''Link Manager Protocol''' - повідомлення LMP використовуються для налаштування зв'язку, безпеки та управління.&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::'''Користувацькі моделі'''&lt;br /&gt;
&lt;br /&gt;
Користувацькі моделі описують, яким чином можна використовувати пристрої Bluetooth. У кожній моделі існує один або більше відповідних профілів, які визначають рівні протоколів і функції, які повинні бути використані. ''Наведений нижче опис - не детальний, і ці відомості не можна вважати повними.'' &lt;br /&gt;
&lt;br /&gt;
:''Internet Bridge''&lt;br /&gt;
&lt;br /&gt;
Користувацька модель Internet Bridge описує, яким чином мобільний телефон або бездротовий модем забезпечує dial-up з'єднання персонального комп'ютера без необхідності фізичного з'єднання з ПК. Цей сценарій з'єднання вимагає використання мережі протоколів, що складається з двох частин - одна для команд AT, для управління процесом передачі необхідних даних з мобільного телефону та інших пристроїв.&lt;br /&gt;
&lt;br /&gt;
:''Three-in-One Phone''&lt;br /&gt;
&lt;br /&gt;
Користувацька модель Three-in-One Phone описує, яким чином телефонний апарат може приєднуватися до трьох різних провайдерів мобільних послуг. Телефон може працювати як при бездротовому телефонному з'єднанні з громадською комутованій телефонною мережею в домашніх умовах, що оплачується за фіксованою таксою оператора телефонного зв'язку. Цей сценарій включає здійснення дзвінків через голосову базову станцію і прямих дзвінків між двома терміналами через базову станцію. За іншим сценарієм телефон може приєднуватися безпосередньо до інших телефонів, працюючи як &amp;quot;walkie-talkie&amp;quot; або як деяке розширення телефону - для такого способу ніякої додаткової оплати не потрібно. Нарешті, модель Three-in-One Phone може працювати як стільниковий телефон, приєднуючись до стільникової інфраструктурі. Бездротовий сценарій і сценарій двостороннього зв'язку використовують одну і ту ж мережу протоколів.&lt;br /&gt;
&lt;br /&gt;
:''Ultimate Headset''&lt;br /&gt;
&lt;br /&gt;
Користувацька модель Ultimate Headset визначається як бездротова трубка, обладнана Bluetooth. Ця модель може працювати в умовах віддаленого вхідного і вихідного аудіо-інтерфейсу пристрою. Цим пристроєм може бути мобільний телефон або ПК для аудіо-входу або виходу. Як і у випадку користувальницької моделі Internet Bridge, дана модель вимагає набору протоколів, що складається з двох частин, одна для команд AT, щоб керувати передачею необхідних даних, наприклад мовлення, з мобільного телефону та іншого пристрою. Команди AT контролюють телефони стосовно, наприклад, до процесу відповіді і до переривання дзвінків.&lt;br /&gt;
&lt;br /&gt;
:''LAN Access''&lt;br /&gt;
&lt;br /&gt;
Користувацька модель LAN Access схожа на користувальницьку модель Internet Bridge. Різниця полягає в тому, що призначена для користувача модель LAN Access не використовує протоколи для команд AT. Дана користувача модель описує, яким чином термінали введення даних використовують місце доступу LAN в якості бездротового з'єднання з локальною мережею. При встановленні з'єднанням термінали введення даних працюють, як якщо б це вони були приєднані до LAN через з'єднання dial-up.&lt;br /&gt;
&lt;br /&gt;
:''File Transfer''&lt;br /&gt;
&lt;br /&gt;
Користувацька модель File Transfer пропонує можливість передачі даних з одного пристрою Bluetooth на інше. У даній користувальницької моделі підтримуються файли, цілі папки, директорії і різноформатні потоки даних. Дана модель також пропонує можливість перегляду вмісту папок на віддаленому пристрої. Більш того, в даній користувальницької моделі підтримуються операції обміну, наприклад, візитними картками з використанням формату vCard. Модель File Transfer базується на GOEP.&lt;br /&gt;
&lt;br /&gt;
:''Synchronisation''&lt;br /&gt;
&lt;br /&gt;
Користувацька модель Synchronisation забезпечує можливості для автоматичної синхронізації між, наприклад, настільним ПК, портативним ПК, мобільним телефоном та ноутбуком. Дана користувача модель дозволяє проводити передачу візитних карток, списку завдань, записів з щоденника і т.д., і працювати далі з цією інформацією за допомогою комп'ютера, стільникового телефону і КПК, використовуючи звичайні протоколи і формати.&lt;br /&gt;
&lt;br /&gt;
= Короткий огляд стека протоколу =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Файл:Schema2.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Малюнок 1. Стек протоколу технології Bluetooth&lt;br /&gt;
&lt;br /&gt;
На малюнку показано, що стек протоколу складається з рівня радіо в основі, яке формує фізичний інтерфейс з'єднання. Рівень протоколу зв'язку baseband і Link Manager Protocol (LMP) встановлюють і контролюють з'єднання між пристроями Bluetooth. Ці три рівні підстави здійснені в обладнанні / програмному забезпеченні. Рівень Host Controller потрібно, щоб з'єднати за допомогою інтерфейсу Bluetooth з верхнім протоколом-L2CAP (Logical Link Control і Adaptation Protocol). Провідний контролер потрібно тільки тоді, коли L2CAP постійно знаходиться в програмному забезпеченні в хості. Якщо L2CAP is також на модулі Bluetooth цей рівень не потрібно, тому що L2CAP може безпосередньо зв'язуватися з LMP і baseband. Програми постійно знаходяться вище L2CAP. Наступні підрозділи дають короткий опис кожного рівня.&lt;br /&gt;
&lt;br /&gt;
'''Рівень зв'язку'''&lt;br /&gt;
&lt;br /&gt;
Зв'язок працює у вільному ISM діапазоні смузі близько 2.4GHz і використовує поширення спектру. Цей діапазон простирається від 2400 до 2483.5 МГЦ в більшості країн, і цілий діапазон використовується для оптимізації поширення спектру. Однак для деяких країн з меншим ISM діапазоном також використовується нижня шкала. Для поширення спектру використовується техніка frequency hopping (FH). Оскільки в цьому діапазоні можуть існувати і здійснювати втручання багаторазові нескоординовані мережі, використовуються швидкі FH і короткі передачі даних, оскільки відсоток помилки може бути високим, особливо з-за сильного втручання від мікрохвильових печей, які працюють у цій частоті. CVSD-кодування адаптоване під голосові передачі, які можуть викликати високий відсоток помилок. Додатково, заголовки пакетів захищені спеціальною схемою корекції помилок для додання стійкості проти збоїв.&lt;br /&gt;
&lt;br /&gt;
Переходи по частоті фіксуються на 2402 k МГц, де k = 0,1 ,..., 78. омінальная частота переходу - 1600 стрибків в секунду.&lt;br /&gt;
&lt;br /&gt;
'''Baseband'''&lt;br /&gt;
&lt;br /&gt;
Baseband - рівень протоколу, контролюючий зв'язок. Baseband контролює послідовності перельоту частоти і дбає про кодування рівня для безпечних з'єднань. Можуть бути встановлені два типи з'єднань:&lt;br /&gt;
&lt;br /&gt;
:SCO: Синхронне орієнтоване з'єднання. Ці сполуки передбачаються для передачі синхронних даних типу голос.&lt;br /&gt;
&lt;br /&gt;
:ACL: Асинхронне з'єднання. Такі з'єднання можуть використовуватися для додатків передачі даних, які не вимагають синхронного зв'язку.&lt;br /&gt;
&lt;br /&gt;
Baseband забезпечує функціональні можливості, необхідні для пристроїв, щоб синхронізувати їх годинник і встановлювати з'єднання. Також забезпечуються процедури запиту для виявлення адреси пристроїв, що знаходяться поблизу. Виправлення помилки для пакетів забезпечується в залежності від типу пакета. Різні типи пакету визначені для деяких загальних додатків, які відрізняються за їх місткості даних і накладних витрат по виправленню помилки. П'ять різних типів каналу забезпечуються для інформації контролю, інформацією управління з'єднанням, синхронними і асинхронними даними. Визначено функції, необхідні для генерації клавіш кодування і клавіш з'єднання. Більш детальний опис деяких з операцій baseband, пов'язаних з встановленням з'єднання, є в розділі.&lt;br /&gt;
&lt;br /&gt;
'''Протокол Менеджера зв'язку'''&lt;br /&gt;
&lt;br /&gt;
Основні функції LMP можна класифікувати &lt;br /&gt;
:1. Управління мережею [[Використовувані означення|Piconet]]&lt;br /&gt;
:2. Конфігурація сполук&lt;br /&gt;
:3. Функції безпеки&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Рiconet є групою пристроїв, пов'язаних із загальним каналом, який ідентифікований з його унікальною послідовністю &amp;quot;перельоту&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Фундаментальні &amp;quot;будівельні блоки&amp;quot; топографії Bluetooth - це пристрої майстер і слейв, де пристрій майстер в піконет забезпечує генерацію синхронизирующих імпульсів і послідовність стрибків для синхронізації всіх інших пристроїв у піконет. Один з пристроїв, зазвичай той, який першим здійснив підключення, називається &amp;quot;master&amp;quot;. До master `у може бути активно приєднано до семи пристроїв і набагато більше може бути підключено в стані&amp;quot; parked &amp;quot;(низького енергоспоживання). Пристрої в мережі piconet можуть з'єднуватися один з одним за допомогою SCO або ACL. Канал управляється master `ом, за допомогою Lin Manager в кожному пристрої. Будь-які два або більше пристроїв для з'єднання повинні встановити між собою мережу piconet. У той же час кожен пристрій може одночасно належати декількох мереж. (Мал.2). Майстер також нумерує канали зв'язку. Майстер визначає шаблон, на якому будуть працювати всі слейв-пристрої його мережі піконет, і синхронізує її роботу.&lt;br /&gt;
&lt;br /&gt;
Стандарт Bluetooth має з'єднання незалежних і навіть не синхронізованих між собою піконет (до 10) в мережу scatternet. Для цього кожна пара пікомережі повинна мати як мінімум однин загальний пристрій, який буде майстром в одній і слейвом в іншій. Таким чином, в межах окремої scatternet з інтерфейсом Bluetooth може бути одночасно пов'язано максимум 71 пристрій, проте ніхто не обмежує застосування пристроїв-гейтів, які використовують той же інтернет для більш далекого зв'язку.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Файл:Schema3.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Малюнок 2: [[Використовувані означення|Piconet]] і [[Використовувані означення|Scatternet]].&amp;lt;br&amp;gt;&lt;br /&gt;
a) piconet між двома пристроями (або один майстер і один слейв)&amp;lt;br&amp;gt;&lt;br /&gt;
b) piconet між кількома пристроями (мультислейв до 7 &amp;quot;слейвів&amp;quot; з одним майстром)&amp;lt;br&amp;gt;&lt;br /&gt;
c) scatternet, комбінація мереж piconet (може з'єднувати до 10 піконет).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LMP забезпечує функціональність приєднаний / від'єднаних пристроїв &amp;quot;slave&amp;quot;, обмін функціями між пристроями master і slave та з'єднання ACL / SCO. LMP також обробляє пристрої в режимах низького енергоспоживання, hold, sniff і park, створених для збереження енергії, якщо пристрої не мають даних для передачі.&lt;br /&gt;
&lt;br /&gt;
Завдання конфігурації з'єднання включають в себе параметри установки з'єднання, якість сервісу і контроль потужності, якщо це підтримується пристроєм. LMP також забезпечує ідентифікацію пристроїв, які будуть з'єднані, і управління клавішами з'єднання.&lt;br /&gt;
&lt;br /&gt;
'''Логічний контроль зв'язку і Адаптаційний протокол'''&lt;br /&gt;
&lt;br /&gt;
Це протокол, з яким взаємодіє більшість додатків, якщо ведучий контролер не використовується. Основні функції L2CAP:&lt;br /&gt;
&lt;br /&gt;
'''Мультіорганізація'''&lt;br /&gt;
Протокол повинен дозволяти декільком додаткам одночасно використовувати з'єднання між двома пристроями.&lt;br /&gt;
&lt;br /&gt;
'''Сегментація і Повторне об'єднання'''&lt;br /&gt;
&lt;br /&gt;
Протокол повинен зменшити розмір пакетів, забезпечених додатками до розміру пакетів, прийнятих рівнем baseband. Сам L2CAP приймає розміри пакету до 64Кб, але пакети baseband можуть приймати до 2745 bits. Для отриманих пакетів повинна бути виконана зворотна процедура об'єднання сегментованих пакетів в належному порядку.&lt;br /&gt;
&lt;br /&gt;
'''Якість обслуговування'''&lt;br /&gt;
&lt;br /&gt;
L2CAP дозволяє додаткам вимагати QoS на деяких параметрах, типу пікової пропускної здатності, часу очікування та зміни затримки.&lt;br /&gt;
&lt;br /&gt;
В основному, L2CAP забезпечує функції мережевого рівня до додатків і більш високим протоколів.&lt;br /&gt;
&lt;br /&gt;
'''Інтерфейс головного контролера'''&lt;br /&gt;
&lt;br /&gt;
Основна структура, що показує, як рівні головного контролера розташовані всередині стека протоколу, зображена на Мал.3.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Файл:Schema4.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Малюнок 3: Провідний контролер в стеку протоколу.&lt;br /&gt;
&lt;br /&gt;
Для більшості пристроїв модуль підтримки Bluetooth може бути додано в якості плати розширення, наприклад, для ПК або ноутбука апаратні засоби Bluetooth можуть бути додані як PCI-карта або USB-адаптер. Апаратні модулі звичайно здійснюють більш низькі радіо рівні, baseband і LMP. Тоді дані, які будуть надіслані LMP і baseband, йдуть з фізичної шині, наприклад, USB. Драйвер для цієї шини потрібно на хості, яким є PC, і на апаратній карті Bluetooth потрібно &amp;quot;інтерфейс контролера хоста&amp;quot;, щоб прийняти дані з фізичної шині. Таким чином, потрібні такі додаткові рівні:&lt;br /&gt;
&lt;br /&gt;
'''HCI драйвер'''&lt;br /&gt;
&lt;br /&gt;
Це драйвер для інтерфейсу головного контролера хоста, вище фізичної шини, форматує дані, які будуть прийняті контролером хоста на апаратних засобах Bluetooth.&lt;br /&gt;
&lt;br /&gt;
'''Інтерфейс головного контролера'''&lt;br /&gt;
&lt;br /&gt;
Розміщується на апаратних засобах Bluetooth і підтримує зв'язок поверх фізичної шини.&lt;br /&gt;
&lt;br /&gt;
'''Рівень програми'''&lt;br /&gt;
&lt;br /&gt;
До L2CAP можна звертатися безпосередньо додатками або через протоколи підтримки подібно RFCOMM, TCS і SDP, згаданим раніше. Додатки можуть використовувати інші протоколи типу TCP-IP або WAP. Додатки можуть самостійно запускати протоколи, наприклад, PPP (Протокол &amp;quot;точка-точка&amp;quot;), FTP (протокол передачі файлів) або інші певні протоколи, як буде потрібно додатком. Програма може використовувати SDP, для перевірки, які потрібні сервісні можливості пристроїв, доступних в зоні дії. Багато моделей використання були запропоновані виробниками. Деякі з них:&lt;br /&gt;
&lt;br /&gt;
:1. Три в одному: окрема телефонна трубка працює як селекторна зв'язок в офісі (ніякої плати за користування телефоном), Всякий раз можна використовувати будь-який з цих трьох режимів - як селекторний зв'язок, як PSTN і як мобільний телефон.&amp;lt;br&amp;gt;&lt;br /&gt;
:2. &amp;quot;Портфельна хитрість&amp;quot;: RF-зв'язок не потребує прямої видимості між пристроями. Значить, мобільний телефон може під'єднатися до ноутбука навіть тоді, коли той перебуває в портфелі, і використовувати доступ до його можливостей, наприклад, до електронної пошти.&amp;lt;br&amp;gt;&lt;br /&gt;
:3. Автоматичний Синхронізатор: забезпечення бездротового зв'язку між PDA користувача, портативної ЕОМ і мобільним дозволить додаткам автоматично оновлювати та синхронізувати органайзер та інші дані, якщо модифікації зроблені на одному пристрої.&amp;lt;br&amp;gt;&lt;br /&gt;
:4. Бездротові навушники (гарнітури): Вони дозволяють доступ до мобільних пристроїв користувача і навіть до аудіо, в той час як пристрої знаходяться в кишені користувача. Таким чином, буде можлива операція hands-free.&amp;lt;br&amp;gt;&lt;br /&gt;
:5. Автомобільні комплекти: пристрої hands-free дозволяють водіям користуватися телефоном без відриву від управління автомобілем.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Крім цього, було запропоновано велику різноманітність інших програм у домашньої автоматизації, обмін даними на нарадах без використання додаткового обладнання, керуючих пристроями через бездротове портативний пристрій при прогулянках, пропозиції системи захисту, мережеві доступи в громадських місцях, деякі з яких успішно демонструвалися на виставках або вже продаються.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Файл:Mal_1.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Малюнок 4. Огляд протоколів технології Bluetooth&lt;br /&gt;
&lt;br /&gt;
На малюнку представлений огляд протоколів, що використовуються і підтримуваних Bluetooth, і показано, яким чином вони взаємодіють між собою. Як завжди на такого роду схемах, протоколи зображені відповідно до їх приблизної ієрархії, причому &amp;quot;вищі&amp;quot; протоколи розташовані вгорі. У контексті обміну даними з цієї ієрархічності можна зробити 2 висновки: &lt;br /&gt;
&lt;br /&gt;
1.Більш високі протоколи залежить від більш низьких в плані свого існування. Але більш низькі протоколи можуть працювати і без більш високих, або підтримувати інші протоколи на більш високих рівнях. &lt;br /&gt;
&lt;br /&gt;
2.Більш високі протоколи зазвичай &amp;quot;ближче&amp;quot; користувачеві, оскільки вони забезпечують людино-орієнтовані сервіси. &lt;br /&gt;
&lt;br /&gt;
Ці протоколи можуть бути розділені на 4 категорії: &lt;br /&gt;
&lt;br /&gt;
1. основні протоколи&amp;lt;br&amp;gt;&lt;br /&gt;
2. протокол заміни кабелю&amp;lt;br&amp;gt;&lt;br /&gt;
3. керуючий протокол телефонії&amp;lt;br&amp;gt;&lt;br /&gt;
4. отримані  протоколи.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Техніка для комунікацій дальньої дії на основі Bluetooth Хоча технологія Bluetooth мається на увазі для комунікацій на близькі відстані, дистанцію взаємодії пристроїв, як уже згадувалося, можна розширити до 100 метрів. Беручи до уваги рівні стійкості до фонового шуму (при чутливості приймача -70 dBm), необхідна вихідна потужність від всеспрямованого передавача 100 mW. Ця передавальна потужність класифікується як &amp;quot;Class 1&amp;quot;, і специфікується в розділі &amp;quot;Радіоспеціфікаціі&amp;quot; у збірнику специфікацій Bluetooth, ver. 1.0, ref. 2. Ця специфікація означає, що передавач має ефективний регулятор для зменшення перешкод. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Файл:Mal_2.jpg]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Малюнок 5. Прийомопередавач Bluetooth&lt;br /&gt;
&lt;br /&gt;
Як можна бачити на малюнку, в RF-частини прийомопередавача Bluetooth є: &lt;br /&gt;
&lt;br /&gt;
1.полоса пропускання, яка видаляє всі частоти поза діапазону в 1 Мгц, який використовується в цей момент як для передачі, так і для прийому&amp;lt;br&amp;gt;&lt;br /&gt;
2. Перемикач передачі-прийому, який з'єднує підсилювач потужності з антеною під час передачі, а також LNA з антеною під час прийому&amp;lt;br&amp;gt;&lt;br /&gt;
3.LNA, або Low-Noise Amplification - малошумне посилення.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Специфікація накладає деякі обмеження на роботу RF-частини. Джерело живлення повинно давати від 2.7 до 5 вольт, і повинно працювати при температурах від -20 до +60 C, а його ефективність повинна становити принаймні 30% при 140 мА. Вихідна потужність повинна також відключатися під час прийому. Один з продуктів, що відповідає цим вимогам, називається &amp;quot;MAX2240&amp;quot;. Два цифрових керуючих біта використовуються для установки VGA (Variable Gain Amplification) на 4 окремих рівня, результатом чого є 4 окремих рівня вихідної потужності.&lt;br /&gt;
&lt;br /&gt;
= Установка з'єднання в Bluetooth =&lt;br /&gt;
&lt;br /&gt;
Цей розділ описує основні процедури, які повинні бути виконані пристроями Bluetooth, щоб встановити між ними з'єднання. Розгляньте наступний сценарій: чоловік гуляє з готелю і хоче скористатися своєю електронною поштою за допомогою пристрою Bluetooth, яким може бути ноутбук або PDA. Що він мав би зробити? Він натиснув би на меню або піктограму поштової програми. Пристрій автоматично виконав б наступні кроки (крім кроку реєстрації, актуального в разі, якщо пристрій вперше використовується в цьому середовищі):&lt;br /&gt;
&lt;br /&gt;
:1. ''Запит:'' пристрій при вступі в нове середовище автоматично ініціалізувати б запит, щоб з'ясувати, які пристрої є доступними в межах його радіуса дії. Це приведе до наступного:&amp;lt;br&amp;gt;&lt;br /&gt;
::а) Всі доступні прилеглі пристрої дадуть відповідь.&lt;br /&gt;
::б) Пристрій вибирає одне з відповіли пристроїв.&lt;br /&gt;
&lt;br /&gt;
:2. ''Пейджинг'': пристрій викличе baseband-процедуру, звану пейджинг. У результаті відбувається синхронізація пристрою з пунктом доступу, серед інших необхідних ініціалізації.&amp;lt;br&amp;gt;&lt;br /&gt;
:3. ''Встановлення з'єднання'': LMP встановить з'єднання з точкою доступу. Оскільки додаток в цьому випадку поштове (email), буде використовуватися ACL з'єднання.&lt;br /&gt;
&lt;br /&gt;
Далі будуть виконуватися нижченаведені дії по встановленню.&lt;br /&gt;
&lt;br /&gt;
:4. ''Сервіс'': LMP буде використовувати протокол SDP для встановлення, який сервіс є доступним, зокрема, поштовий сервіс, або потрібно звернеться до іншого хосту. Припустимо, що сервіс є доступним, інакше програма не може далі діяти. Інформація щодо інших сервісних послуг може бути також представлена користувачеві.&amp;lt;br&amp;gt;&lt;br /&gt;
:5. ''Канал L2CAP'': На основі інформації, отриманої від SDP, пристрій створить канал L2CAP до пункту доступу. Він може використовуватися безпосередньо додатком або іншим протоколом, наприклад, RFCOMM.&amp;lt;br&amp;gt;&lt;br /&gt;
:6. ''Канал RFCOMM'': В залежності від потреби поштового програми RFCOMM або інший канал (у випадку інших додатків) буде створено згідно з L2CAP каналу. Ця можливість дозволяє використовувати додатки, розроблені для послідовних портів, щоб працювати без модифікації по Bluetooth-платформ.&amp;lt;br&amp;gt;&lt;br /&gt;
:7. ''Безпека'': Якщо пункт доступу обмежує доступ понад певної кількості користувачів або пропонує безпечне з'єднання режиму людям, які зареєструвалися раніше, тоді пункт доступу пошле запит безпеки при встановленні з'єднання. Користувач повинен знати правильний PIN-код для доступу до сервісу. Зверніть увагу, що PIN-код не передається по бездротовому каналу, використовується інший код, що згенерував з нього, тому PIN-код досить складно підібрати. При використанні безпечного режиму буде вироблено кодування передачі.&amp;lt;br&amp;gt;&lt;br /&gt;
:8. ''PPP'': Оскільки PPP-з'єднання використовується з послідовного модему як при dial-up, те ж саме додаток зможе тепер запустити PPP через RFCOMM (через емульованого послідовний порт). Ця з'єднання дозволить користувачеві отримати доступ до його поштової скриньки тощо.&amp;lt;br&amp;gt;&lt;br /&gt;
:9. ''Мережеві протоколи'': Мережеві протоколи типу TCP / IP, IPX, Appletalk можуть одержувати і передавати дані по каналу без труднощів.&lt;br /&gt;
&lt;br /&gt;
В описаних вище процедурах для користувача взаємодія потрібна тільки при використанні логіна для входу в систему для електронної пошти і для додаткового захисту, яка буде здійснена. Решта кроки автоматичні. Вищезазначені процедури описані докладно, щоб продемонструвати процес встановлення підключення. Пояснення вищезазначених процедур потребує короткого опису пристрою годин на Bluetooth.&lt;br /&gt;
&lt;br /&gt;
'''Годинник''': Кожен Bluetooth модуль має вбудовану систему часу, яка визначає час і частотні передачі. Годинники Bluetooth є вільно йдуть часасмі, які ніколи не коригуються і ніколи не вимикаються. Для синхронізації з іншими модулями використовуються тільки зміщення (величина, на яку відрізняється час в інших модулях в порівнянні з &amp;quot;рідними&amp;quot; годинником), накладене на &amp;quot;рідні&amp;quot; годинник, - тимчасові годинник Bluetooth, які взаємно синхронізовані. Годинники Bluetooth не мають ніякого відношення до часу доби. Годинники Bluetooth дуже важливі для трансівера Bluetooth через синхронізації безлічі важливих подій, без яких неможлива зв'язок. Одиниця часу - принаймні половина TX або RX довжини слота, або 312.5 мікросекунд. Годинники мають денний цикл. Якщо годинник обладнані лічильником, 28-бітний лічильник вимагає обороти близько 228 1. LSB відраховує кванти по 312.5 мікросекунд, задаючи тактову частоту 3.2 КГц.&lt;br /&gt;
&lt;br /&gt;
Синхронізація і частота на каналі piconet визначені Bluetooth-годинами &amp;quot;майстра&amp;quot;. Коли мережа piconet сформувалася, відлік годин &amp;quot;майстри&amp;quot; передається на підпорядковані пристрої. Вони зберігають необхідне значення зміщення, яке потрібно використовувати при з'єднанні з даними &amp;quot;майстром&amp;quot; і використовуються для синхронізації каналу. Оскільки власні тимчасові координати (години) не змінюються, то можливо використовувати різні зміщення для реєстрації в різних мережах piconet.&lt;br /&gt;
&lt;br /&gt;
Мінімальна необхідна точність годин -/-20 ppm в активному режимі, і/-250ppm в режимі малої активності, наприклад, Hold, Sniff, Standby і Park.&lt;br /&gt;
&lt;br /&gt;
:'''Запит та пейджинг'''&lt;br /&gt;
&lt;br /&gt;
Це початкові кроки в процесі встановлення з'єднання.&lt;br /&gt;
&lt;br /&gt;
Пристрій знаходиться в режимі Standby за замовчуванням. У цьому стані йдуть тільки рідні годинник і споживана потужність дуже низька. Можна вийти з цього режиму і увійти в режими [[Запит (Inquiry)]], [[Перегляд / сканування запиту (Inquiry Scan)]], [[Відповідь на запит (Inquiry Response)]], [[Пейджинг (Page)]] або [[Перегляд / сканування пейджинга (Page Scan)]], [[Відповідь пейджинга]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:'''Встановлення зв'язку'''&lt;br /&gt;
&lt;br /&gt;
Як тільки пристрій буде перебувати в стані зв'язку, LMP може починати встановлювати з'єднання. З'єднання L2CAP базуються на концепції каналів, які визначаються ідентифікаторами каналу, аналогічними сокетами в TCP / IP. Канал, відмінний від каналу piconet, ідентифікується адресою пристрою, з яким створено двосторонню з'єднання, і ідентифікатором каналу. Основні кроки в установці з'єднання в підсумку виглядають так:&lt;br /&gt;
&lt;br /&gt;
:1. Пакети POLL і відповідь використовуються для передачі інформації конфігурації без взаємодії хоста.&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Відправляється пакет LMP_host_connect_request.&amp;lt;br&amp;gt;&lt;br /&gt;
:3. Віддалене пристрій відповідає LMP_NOT_ACCEPTED, якщо додаток, запитувана першим пристроєм, не хоче або не може відповісти. Інакше надсилається відповідь LMP_ACCEPTED.&amp;lt;br&amp;gt;&lt;br /&gt;
:4. Відповідає пристрій може запитати про відключення ролі, якщо це буде потрібно з деяких причин. Перший пристрій відповідає відповідним пакетом для прийняття або не прийняття запиту.&lt;br /&gt;
&lt;br /&gt;
З'єднання встановлено на рівні Link Manager.&lt;br /&gt;
&lt;br /&gt;
Додаток може не бути поінформоване про те, які послуги є доступними, і буде використовувати SDP, щоб це виявити.&lt;br /&gt;
&lt;br /&gt;
:'''SDP'''&lt;br /&gt;
&lt;br /&gt;
Зміни середовища Bluetooth відбуваються часто, отже, доступні послуги повинні бути виявлені в полі зору. SDP забезпечує кошти програми для виявлення, які сервіси є доступними, і їх характеристики, як описано в основних специфікаціях.&lt;br /&gt;
Пристрій Bluetooth, послуги якого повинні бути виявлені, запускає SDP сервер. Для виявлення послуг інших пристроїв запускає SDP клієнта. Один клієнт може запущено для кожної програми, але один пристрій може запустити тільки один сервер SDP. Сервер SDP обслуговує сервісну запис кожної служби, що дозволяє пристрою виявлятися. Клієнт надсилає запит на сервер. Запит може бути пошуком специфічного класу сервісних послуг або переглядом всіх класів доступних сервісів. Сервер дає відповідний відповідь. Якщо пристрій сервера має тільки декілька сервісів, вони не можуть бути розділені на класи та сервісні опису не відправляються пристрою. В іншому варіанті опису класу відправляються і клієнт може продовжувати вивчати деталі в межах класу. SDP тільки дозволяє сервісів бути виявленими. Доступ повинен бути через інші протоколи, засновані на L2CAP. L2CAP з'єднання Інформація, отримана через LMP з'єднання і через SDP, буде використовуватися L2CAP, щоб встановити канал для програми. L2CAP встановлює лише зв'язку ACL з'єднання.&lt;br /&gt;
З'єднання L2CAP базуються на концепції каналів, які визначаються ідентифікаторами каналу, аналогічними роз'ємів в IP TCP. Канал, відмінний від каналу piconet, ідентифікується адресою пристрою, до якого створено з'єднання, і ідентифікатором каналу. Кожен канал приймається до заповнення дуплексу, з QoS специфікацією в кожному напрямку. Канал може бути двухточечной або багатоточковий. L2CAP встановлює з'єднання, коли на нього додатком виражений запит і з'єднання на потрібний пристрій ще не було встановлено. Запити від нижніх рівнів щодо з'єднань, необхідних програмами на віддалених пристроях, також обробляються L2CAP відповідно до залученим додатком.&lt;br /&gt;
&lt;br /&gt;
SCO з'єднання не проходять по L2CAP, але посилають їх дані безпосередньо Baseband. L2CAP встановлює окремий сигнальний канал для запиту з'єднання, конфігурації, роз'єднання і пр. (для випробування). L2CAP-пакети не забезпечують CRC або інші перевірки помилок, покладаючись на смугу baseband для захисту даних і впорядкованої доставки.&lt;br /&gt;
&lt;br /&gt;
Взаємодія цього протоколу з верхніми і нижніми рівнями розглядається в подіях і діях. Події - всі повідомлення, отримані L2CAP від більш низьких або більш високих рівнів, у той час як дії - відповіді, зроблені для них. Нижнім рівнем може бути LMP або HCI, в той час як більш високим рівнем може бути будь-який додаток. Типова послідовність подій і дій для встановлення з'єднання може бути наступна:&lt;br /&gt;
&lt;br /&gt;
:1. Подія і Дія 0: Подія - це запит з'єднання від більш високого рівня. Дія полягає в тому, що пристрій L2CAP посилає пакет запиту віддаленого L2CAP. Цей пакет на віддалене пристрій доставляє baseband.&amp;lt;br&amp;gt;&lt;br /&gt;
:2. Подія і Дія 1: Віддалений L2CAP отримує цей пакет і відповідає з пакетом у відповідь підключення. Перед виконанням L2CAP контактує з віднесеним додатком, щоб перевірити, чи буде потрібний запит фактично оброблено тим додатком.&amp;lt;br&amp;gt;&lt;br /&gt;
:3. Подія і Дія 2: Прийом у відповідь пакету - подія для локального пристрою L2CAP. Взаємодія запрошувати про параметри конфігурації: максимальний модуль payload і межі часу очікування.&amp;lt;br&amp;gt;&lt;br /&gt;
:4. Подія і Дія 3: Запит конфігурації - подія для віддаленого L2CAP. Його дія - відповідь конфігурації. Також, можна посилати його власної конфігурації запит про додаткові параметри.&amp;lt;br&amp;gt;&lt;br /&gt;
:5. Подія і Дія 4: Вищезгаданий пакет - подія для місцевого пристрою. Воно відповідає з відповіддю конфігурації.&lt;br /&gt;
&lt;br /&gt;
Ініціатором в місцевому пристрої виступає L2CAP, адресатом - L2CAP в пункті доступу або іншому пристрої Bluetooth, з яким входить у контакт. Зверніть увагу, що за вказаним на стрілках, що вказують до ініціатора або адресату - події для L2CAP, в той час як стрілки, що вказують за межі - дії. Назви, що починаються з L2CAP, є з'єднаннями між двома L2CAP на різних пристроях. Вертикальні рядки LP - Менеджери Зв'язки в цих двох пристроях. Назви, що починаються з WA, представляють собою з'єднання з додатком більш високого рівня, для якого встановлюється канал.&lt;br /&gt;
&lt;br /&gt;
Стану OPEN відзначають інтервал з'єднання додатків. Останні кроки у вищезгаданій таблиці відносяться до роз'єднання. Тепер можуть бути передані дані програми або можуть бути виконані [[процедури захисту]].&lt;br /&gt;
&lt;br /&gt;
:'''Зв'язок додатків'''&lt;br /&gt;
&lt;br /&gt;
Прикладні дані будуть тепер передані через з'єднання, оскільки всі визначені процедури встановлення з'єднання Bluetooth були виконані. Додатка необхідно запустити протокол більш високого рівня L2CAP. Bluetooth було визначено три використовуваних протоколу. Це:&lt;br /&gt;
:'''RFCOMM'''&amp;lt;br&amp;gt;&lt;br /&gt;
Це емуляція послідовного порту через бездротове з'єднання.&amp;lt;br&amp;gt;&lt;br /&gt;
:'''SDP'''&amp;lt;br&amp;gt;&lt;br /&gt;
Це Service Discovery Protocol, який допомагає пристроям виявити доступні послуги поблизу.&amp;lt;br&amp;gt;&lt;br /&gt;
:'''TCS'''&amp;lt;br&amp;gt;&lt;br /&gt;
Це Telephony Control Protocol Specification, описує управління запитом і передачу сигналів голосових каналів через Bluetooth. Всі користувальницькі додатки і інші існуючі механізми доступу до мережі, наприклад, IP TCP, PPP, IrDA OBEX, WAP і HomeRF можуть бути здійснені за рівнем L2CAP або вищезазначеним трьом протоколами, якщо додаток вибере використання їхніх послуг.&lt;br /&gt;
&lt;br /&gt;
Додаток в результаті повідомить, що більше не потрібно підключення, якщо воно не було зафіксовано протягом часу запуску програми. LMP посилає пакет LMP_detach пакет на віддалене пристрій, на який не потрібно відповідь. Відбувається роз'єднання.&lt;br /&gt;
&lt;br /&gt;
= Профілі Bluetooth =&lt;br /&gt;
&lt;br /&gt;
 • Advanced Audio Distribution Profile (A2DP)&lt;br /&gt;
&lt;br /&gt;
A2DP розроблений для передачі двоканального стерео аудіопотоку, наприклад музики, до безпровідної гарнітури або будь-якого іншого пристрою. Профіль повністю підтримує низькокомпресуючий кодек Sub_Band_Codec (SBC) і опційно підтримує MPEG-1,2 аудіо, MPEG-2,4 ААС і ATRAC, здатний підтримувати кодеки визначені виробником.&lt;br /&gt;
&lt;br /&gt;
 • Audio / Video Remote Control Profile (AVRCP)&lt;br /&gt;
&lt;br /&gt;
Цей профіль розроблений для управління стандартними функціями телевізорів, Hi-Fi устаткування і інше. Тобто дозволяє створювати пристрою з функціями дистанційного керування. Може використовуватися в сумісності з профілями A2DP або VDPT.&lt;br /&gt;
&lt;br /&gt;
 • Basic Imaging Profile (BIP) &lt;br /&gt;
&lt;br /&gt;
Профіль розроблений для пересилки зображень між пристроями і включає можливість зміни розміру зображення і конвертацію в підтримуваний формат приймаючого пристрою.&lt;br /&gt;
&lt;br /&gt;
 • Basic Printing Profile (BPP) &lt;br /&gt;
&lt;br /&gt;
Профіль дозволяє пересилати текст, e-mails, vCard і інші елементи на принтер. Профіль не вимагає від принтера специфічних драйверів, що вигідно відрізняє його від HCRP.&lt;br /&gt;
&lt;br /&gt;
 • Common ISDN Access Profile (CIP) &lt;br /&gt;
&lt;br /&gt;
Профіль для доступу пристроїв до ISDN.&lt;br /&gt;
&lt;br /&gt;
 • Cordless Telephony Profile (CTP) &lt;br /&gt;
&lt;br /&gt;
Профіль безпровідної телефонії.&lt;br /&gt;
&lt;br /&gt;
 • Device ID Profile (DID) &lt;br /&gt;
&lt;br /&gt;
Профіль дозволяє ідентифікувати клас пристрою, виробника, версію продукту.&lt;br /&gt;
&lt;br /&gt;
 • Dial-up Networking Profile (DUN) &lt;br /&gt;
&lt;br /&gt;
Протокол надає стандартний доступ до інтернету або іншого телефонного сервісу через Bluetooth. Базується на SPP, включає PPP і AT команди визначені в специфікації ETSI.&lt;br /&gt;
&lt;br /&gt;
 • Fax Profile (FAX) &lt;br /&gt;
&lt;br /&gt;
Профіль надає інтерфейс між мобільним або стаціонарним телефоном і ПК на якому встановлено програмне забезпечення для факсів. Підтримує ITU T.31 і ITU T.32 набір AT ко-манд. Голосовий дзвінок або передача даних профілем не підтримується.&lt;br /&gt;
&lt;br /&gt;
 • File Transfer Profile (FTP_profile) &lt;br /&gt;
&lt;br /&gt;
Профіль забезпечує доступ до файлової системи пристрою. Включає стандартний набір команд FTP, що дозволяє отримувати список директорій, зміни директорій, отримувати, передавати і видаляти файли. В якості транспорту використовується OBEX, базується на GOEP.&lt;br /&gt;
&lt;br /&gt;
 • General Audio / Video Distribution Profile (GAVDP) &lt;br /&gt;
&lt;br /&gt;
Профіль є базою для A2DP і VDP.&lt;br /&gt;
&lt;br /&gt;
 • Generic Access Profile (GAP) &lt;br /&gt;
&lt;br /&gt;
Профіль є базою для решти всіх профілів.&lt;br /&gt;
&lt;br /&gt;
 • Generic Object Exchange Profile (GOEP) &lt;br /&gt;
&lt;br /&gt;
Профіль є базою для інших профілів передачі даних, базується на OBEX.&lt;br /&gt;
&lt;br /&gt;
 • Hard Copy Cable Replacement Profile (HCRP) &lt;br /&gt;
&lt;br /&gt;
Профіль надає просту альтернативу кабельного з'єднання між пристроєм і принтером. Мінус профілю в тому, що для принтера необхідні специфічні драйвера, що робить профіль не універсальним.&lt;br /&gt;
&lt;br /&gt;
 • Hands-Free Profile (HFP) &lt;br /&gt;
&lt;br /&gt;
Профіль використовується для з'єднання безпровідної гарнітури і телефону, передає монозвук в одному каналі.&lt;br /&gt;
&lt;br /&gt;
 • Human Interface Device Profile (HID) &lt;br /&gt;
&lt;br /&gt;
Забезпечує підтримку пристроїв з HID (Human Interface Device), таких як мишки, джойстики, клавіатури та інші. Використовує повільний канал, працює на зниженій потужності.&lt;br /&gt;
&lt;br /&gt;
 • Headset Profile (HSP) &lt;br /&gt;
&lt;br /&gt;
Профіль використовується для з'єднання безпровідної гарнітури і телефону. Підтримує мінімальний набір AT команд специфікації GSM для забезпечення можливості здійснювати дзвінки, відповідати на дзвінки, завершувати дзвінок, настроювати гучність.&lt;br /&gt;
Підтримка гарнітурою профілю Headset (&amp;quot;навушники&amp;quot;). Профіль - набір функцій або можливостей, доступних для певного пристрою Bluetooth. Для спільної роботи Bluetooth-пристроїв необхідно, щоб всі вони підтримували загальний профіль. Через профіль Headset, за наявності Bluetooth 1.2 і вище, а також при його підтримці головним пристроєм, можна виводити на гарнітуру весь звуковий супровід роботи телефону. Наприклад, прослуховувати на гарнітурі всі сигнали підтвердження операцій, mp3-музыку з плеєра, мелодії дзвінка, звуковий ряд відеороликів. Також з підтримкою даного профілю з'являється можливість міняти гучність, здійснювати дзвінки, а також відповідати або відхиляти їх безпосередньо з гарнітури. Гарнітури, що підтримують такий профіль мають можливість передачі стереозвуку, на відміну від моделей, які підтримують тільки профіль Hands-Free.&lt;br /&gt;
&lt;br /&gt;
 • Intercom Profile (ICP) &lt;br /&gt;
&lt;br /&gt;
Забезпечує голосові дзвінки між Bluetooth-сумісними пристроями.&lt;br /&gt;
&lt;br /&gt;
 • LAN Access Profile (LAP) &lt;br /&gt;
&lt;br /&gt;
LAN Access profile забезпечує можливість доступу Bluetooth-пристроям до обчислювальних мереж LAN, WAN або Internet за допомогою іншого Bluetooth-пристроя, який має фізичне підключення до цих мереж. Bluetooth-пристрій використовує PPP поверх RFCOMM для установки з'єднання. LAP також допускає створення ad-hoc Bluetooth-сетей.&lt;br /&gt;
&lt;br /&gt;
 • Object Push Profile (OPP) &lt;br /&gt;
&lt;br /&gt;
Базовий профіль для пересилки «об'єктів», таких як зображення, віртуальні візитні картки і ін. Передачу даних ініціює відправляючий пристрій (клієнт), а не приймальний (сервер).&lt;br /&gt;
&lt;br /&gt;
 • Personal Area Networking Profile (PAN) &lt;br /&gt;
&lt;br /&gt;
Профіль дозволяє використовувати протокол Bluetooth Network Encapsulation як транспорт через Bluetooth-соединение.&lt;br /&gt;
&lt;br /&gt;
 • Phone Book Access Profile (PBAP) &lt;br /&gt;
&lt;br /&gt;
Профіль дозволяє обмінюватися записами телефонних книг між пристроями.&lt;br /&gt;
&lt;br /&gt;
 • Serial Port Profile (SPP) &lt;br /&gt;
&lt;br /&gt;
Профіль базується на специфікації ETSI TS07.10 і використовує протокол RFCOMM. Профіль емулює послідовний порт, надаючи можливість заміни стандартного RS-232 безпровідним з'єднанням. Є базовим для профілів DUN, FAX, HSP і AVRCP.&lt;br /&gt;
&lt;br /&gt;
 • Service Discovery Application Profile (SDAP) &lt;br /&gt;
&lt;br /&gt;
Профіль використовується для надання інформації про профілі, які використовує пристрій-сервер.&lt;br /&gt;
&lt;br /&gt;
 • SIM Access Profile (SAP, SIM) &lt;br /&gt;
&lt;br /&gt;
Профіль дозволяє дістати доступ до SIM-карти телефону, що дозволяє використовувати одну SIM-карту для декількох пристроях.&lt;br /&gt;
&lt;br /&gt;
 • Synchronisation Profile (SYNCH) &lt;br /&gt;
&lt;br /&gt;
Профіль дозволяє синхронізувати особисті дані (PIM). Профіль запозичений із специфікації інфрачервоного зв'язку і адаптований групою Bluetooth SIG.&lt;br /&gt;
&lt;br /&gt;
 • Video Distribution Profile (VDP) &lt;br /&gt;
&lt;br /&gt;
Профіль дозволяє передавати потокове відео. Підтримує H.263, стандарти MPEG-4 Visual Simple Profile, H.263 profiles 3, profile 8 підтримуються опціонально і не містяться в специфікації.&lt;br /&gt;
&lt;br /&gt;
 • Wireless Application Protocol Bearer (WAPB) &lt;br /&gt;
&lt;br /&gt;
Протокол для організації P-to-P (Point-to-Point) з'єднання через Bluetooth.&lt;br /&gt;
&lt;br /&gt;
= Безпека Bluetooth =&lt;br /&gt;
&lt;br /&gt;
У червні 2006 року Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) опублікували статтю, що містить докладний опис атаки на bluetooth-пристрої. Матеріал містив опис як активної, так і пасивної атаки, що дозволяє дістати PIN код пристрою і надалі здійснити з'єднання з даним пристроєм. Пасивна атака дозволяє відповідно екіпірованому зловмисникові «підслуховувати» (sniffing) процес ініціалізації з'єднання і надалі використовувати отримані в результаті прослушки і аналізу дані для встановлення з'єднання (spoofing). Однозначно, для проведення даної атаки зловмисникові потрібно знаходиться в безпосередній близькості і безпосередньо у момент встановлення зв'язку. Це не завжди можливо. Тому з’явилася ідея активної атаки. Була виявлена можливість відправки особливого повідомлення в певний момент, що дозволяє почати процес ініціалізації з пристроєм зловмисника. Обидві процедури злому достатньо складні і включають декілька етапів, основний з яких  збір пакетів даних і їх аналіз. Самі атаки засновані на вразливості в механізмі аутентифікації і створення ключа-шифру між двома пристроями. І тому перед викладом механізму атак розглянемо механізм ініціалізації bluetooth-з’єднання.&lt;br /&gt;
&lt;br /&gt;
== Вразливості і атаки Bluetooth ==&lt;br /&gt;
&lt;br /&gt;
=== Базова pairing атака (атака на сполучення) ===&lt;br /&gt;
&lt;br /&gt;
Проаналізуємо дані, обмін якими йде впродовж процесу сполучення:&lt;br /&gt;
&lt;br /&gt;
[[Файл: Данні.jpg]]&lt;br /&gt;
&lt;br /&gt;
Представимо ситуацію: зловмисникові вдалося прослуховувати ефір і під час процедури сполучення, він перехопив і зберіг всі повідомлення. Далі знайти PIN можна використовуючи перебір.&lt;br /&gt;
&lt;br /&gt;
Перш за все необхідно скласти сам алгоритм перебору. Ми маємо в своєму розпорядженні перехоплені величини IN_RAND (він нешифрований) і BD_ADDR (нагадаємо, що адреси пристроїв видно в ефірі) і запускаємо алгоритм E22. Йому передаємо вищеперелічені дані і наш передбачуваний PIN. В результаті ми набудемо передбачуваного значення Kinit. Виглядає воно зразково так:&lt;br /&gt;
&lt;br /&gt;
Kinit = E22[IN_RAND, BD_ADDR(B), PIN'] де PIN'  передбачуваний нами PIN-код&lt;br /&gt;
&lt;br /&gt;
Далі, повідомлення 2 і 3 піддаються XOR з тільки що отриманим Kinit. Отже, наступним кроком ми отримаємо LK_RAND(A) і LK_RAND(B) в чистому вигляді. Тепер ми можемо вирахувати передбачуване значення Kab, для чого проробляємо наступну операцію:&lt;br /&gt;
&lt;br /&gt;
LK_K(A)= E21[BD_ADDR(A), LK_RAND(A)] де LK_K(A|B)  це проміжні величини&lt;br /&gt;
&lt;br /&gt;
LK_K(B)= E21[BD_ADDR(B), LK_RAND(B)]&lt;br /&gt;
&lt;br /&gt;
Kab = LK_K(A) XOR LK_K(B)&lt;br /&gt;
&lt;br /&gt;
Перевіримо PIN. Візьмемо отриманий Kab і перехоплений AU_RAND(A) і обчислимо SRES(A).&lt;br /&gt;
&lt;br /&gt;
Після порівнюємо отриманий результат з SRES(A)', номер, що зберігається в повідомлен-ні, 5:&lt;br /&gt;
&lt;br /&gt;
SRES(A)= E1[AU_RAND(A), Kab, BD_ADDR(B)]&lt;br /&gt;
&lt;br /&gt;
Якщо SRES(A)== SRES(A)'  PIN успішно вгаданий. Інакше повторюємо послідовність дій спочатку з новою величиной PIN'.&lt;br /&gt;
&lt;br /&gt;
Першим, хто відмітив цю уразливість, був англієць Оллі Вайтхауз (Ollie Whitehouse) в квітні 2004 року. Він першим запропонував перехопити повідомлення під час сполучення і спробувати обчислити PIN методом перебору, використовуючи отриману інформацію. Проте, метод має один істотний недолік: атаку можливо провести тільки у випадку, якщо вдалося підслуховувати всі аутентифікаційні дані. Іншими словами, якщо зловмисник знаходився поза ефіром під час початку сполучення або ж упустив якусь величину, то він не має можливості продовжити атаку.&lt;br /&gt;
&lt;br /&gt;
=== Re-pairing атака (атака на пересполучений) ===&lt;br /&gt;
&lt;br /&gt;
Вулу і Шакеду вдалося знайти вирішення труднощів, пов'язаних з атакою Вайтхауза. Був розроблений другий тип атаки. Якщо процес сполучення вже початий і дані упущені, ми не зможемо закінчити атаку. Але був знайдений вихід. Потрібно змусити пристрої спочатку ініціювати процес сполучення (звідси і назва). Дана атака дозволяє у будь-який момент почати вищеописану pairing атаку.&lt;br /&gt;
&lt;br /&gt;
Розглянемо наступну ситуацію. Допустимо, що пристрої вже встигли зв'язатися, зберегли ключ Kab і приступили до Mutual authentication. Від нас потрібно змусити пристрої наново почати pairing. Всього було запропоновано три методи атаки на переспряження, причому всі з них залежно від якості реалізації bluetooth-ядра конкретного пристрою. Нижче приведені методи в порядку убування ефективності:&lt;br /&gt;
&lt;br /&gt;
1) За pairing слідує фаза аутентифікації. Master-пристрій посилає AU_RAND і чекає у відповідь SRES. У стандарті декларує можливість втрати ключа зв'язку. У такому разі slave посилає «LMP_not_accepted», повідомляючи master про втрату ключа. Тому основна мета зловмисника  відстежити момент відправки AU_RAND master-пристрієм і у відповідь упровадити пакет LMP_not_accepted, що містить. Реакцією master буде реинициализация процесу pairing. Причому це приведе до анулювання ключа зв'язку на обох пристроях.&lt;br /&gt;
&lt;br /&gt;
2) Якщо встигнути відправити IN_RAND slave-пристрію безпосередньо перед відправкою master-пристроєм величини AU_RAND, то slave буде упевнений, що на стороні master загублений ключ зв'язку. Це знову ж таки приведе до процесу реинициализации сполучення, але вже ініціатором буде slave.&lt;br /&gt;
&lt;br /&gt;
3) Зловмисник чекає відправки master-пристроєм AU_RAND і відправляє у відповідь випадково SRES, що згенерував. Спроба аутентифікації провалена. Далі слідує низка повторних спроб аутентифікації(кількість залежить від особливостей реалізації пристроїв). За умови, що зловмисник продовжує вводити master-пристрій в оману, незабаром (по лічильнику невдалих спроб) пристроями буде ухвалено рішення об реинициализации сполучення.&lt;br /&gt;
&lt;br /&gt;
Використавши будь-який з цих методів, зловмисник може приступити до базової атаки на сполучення. Таким чином, маючи в арсеналі ці дві атаки, зловмисник може безперешкодно викрасти PIN-код. Далі маючи PIN-код він зможе встановити з'єднання з будь-яким з цих пристроїв. І варто врахувати, що в більшості пристроїв безпека на рівні служб, доступних через bluetooth, не забезпечується на належному рівні. Більшість розробників роблять ставку саме на безпеку встановлення сполучення. Тому наслідки дій зловмисника можуть бути різними: від крадіжки записника телефону до встановлення вихідного виклику з телефону жертви і використання його як прослуховуючого пристрою.&lt;br /&gt;
&lt;br /&gt;
Ці методи описують, як примусити пристрої «забути» link key, що само по собі веде до повторного pairing, а значить, зловмисник може підслуховувати весь процес із самого початку, перехопити всі важливі повідомлення і підібрати PIN.&lt;br /&gt;
&lt;br /&gt;
== Оцінка часу підбору PIN-кода ==&lt;br /&gt;
&lt;br /&gt;
У протоколі Bluetooth активно використовуються алгоритми E22, E21, E1, засновані на шифрі SAFER+. Те що вразливість відноситься до критичних підтвердив Брюс Шнайер (Bruce Schneier). Підбір PIN-a на практиці чудово працює. Нижче приведені результати отримані на Pentium IV на 3  Ггц:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Розшифрування.JPG]]&lt;br /&gt;
&lt;br /&gt;
Конкретні реалізації вищеописаних атак можуть працювати з різною швидкістю. Способів оптимізації дуже багато: особливі налаштування компілятора, різні реалізації циклів, умов і арифметичних операцій. Авіша Вул (Avishai Wool) і Янів Шакед (Yaniv Shaked) зробили прорив, знайшовши спосіб скоротити час перебору PIN-кода в рази. Ця оптимізація виходить за рамки даної статті, але, варто відзначити, що мова йде про оптимізації базових алгоритмів стека bluetooth. В світлі сучасних технологій (зокрема nVidia CUDA) результати могли бути ще краще.&lt;br /&gt;
&lt;br /&gt;
Збільшення довжини PIN-кода не є панацеєю і лише трохи збільшує час перебору. Тільки сполучення пристроїв в безпечному місці може частково захистити від описаних атак. Приклад  bluetooth гарнітура або автомобільний handsfree. Ініціалізація зв'язку (при включенні) з даними пристроями може відбуватися багато разів протягом дня, і не завжди у користувача є можливість знаходитися при цьому в захищеному місці. Втім, атаки подібного вигляду не будуть дуже популярні, принаймні, поки не буде реалізовано доступних апаратних засобів і універсальних програмних пакетів.&lt;br /&gt;
&lt;br /&gt;
Впровадження NFC є ефективним рішенням проти даного виду атак, але в цілому, ситуація не зміниться на краще до появи на ринку достатньої кількості рішень на Bluetooth 2.1 (з підтримкою NFC), а через їх зворотну сумісність з попередніми версіями протоколу, вищевикладені атаки будуть актуальні ще достатньо тривалий час.&lt;br /&gt;
&lt;br /&gt;
= Застосування =&lt;br /&gt;
&lt;br /&gt;
=== Апаратне забезпечення ===&lt;br /&gt;
&lt;br /&gt;
Радіус роботи пристроїв BT2 не перевищує 15 метрів, для BT1 до 100 м (клас А). Ці числа декларуються стандартом для прямої видимості, в реальності не варто очікувати роботу на відстані більше 10-20 м. Такої далекодії недостатньо для ефективного застосування атак на практиці. Тому, ще до детального опрацювання алгоритмів атаки, на Defcon-2004 публіці була представлена ​​антена-гвинтівка BlueSniper, розроблена Джоном Херінгтона (John Herington). Пристрій підключається до портативного пристрою — ноутбуку / КПК і має достатню спрямованість і потужність (ефективна робота до 1,5 км).&lt;br /&gt;
&lt;br /&gt;
=== Програмне забезпечення ===&lt;br /&gt;
&lt;br /&gt;
'''Blueman''' - комп'ютерна програма для створення з'єднань з різними Bluetooth-приладами.&lt;br /&gt;
&lt;br /&gt;
'''Функції:'''&lt;br /&gt;
&lt;br /&gt;
    •Створення мережевих з'єднань :&lt;br /&gt;
        •Персональна мережа (PAN), у тому числі спільно з програмою NetworkManager. Надається базовий DHCP-клієнт для PAN.&lt;br /&gt;
        •Підключення до інтернету через мобільні пристрої з використанням DUN-профілю. Мобільні мережі що підтримуються: GPRS, EDGE, 3G.&lt;br /&gt;
    •Спільна робота з програмами NetworkManager і ModemManager за допомогою додаткових модулів(плагінів) Blueman.&lt;br /&gt;
    •Обмін файлами між комп'ютером і Bluetooth-пристроєм по протоколу OBEX.&lt;br /&gt;
    •Підключення:&lt;br /&gt;
        •Пристрої введення.&lt;br /&gt;
        •Аудіо-пристрої (наприклад - навушникі). Підтримка роботи із звуковим сервером PulseAudio.&lt;br /&gt;
&lt;br /&gt;
= Питання до технології Bluetooth =&lt;br /&gt;
&lt;br /&gt;
#В чому полягає суть методу FHSS?&lt;br /&gt;
#У чому переваги Bluetooth 2.1 від 2.0?&lt;br /&gt;
#Суть профілю Bluetooth Headset Profile (HSP).&lt;br /&gt;
#Який радіус роботи пристроїв BT1 і BT2?&lt;br /&gt;
#Які є три етапи установки зв'язку bluetooth?&lt;br /&gt;
#Що можна сказати про безпеку bluetooth з'єднання?&lt;br /&gt;
#Які можливості надає профіль Audio / Video Remote Control Profile (AVRCP)?&lt;br /&gt;
#Опишіть процес забезпечення безпеки?&lt;br /&gt;
#Яким чином здійснюється зв'язок між двома телефонами по Bluetooth&lt;br /&gt;
#Яке призначення профілю Fax Profile (FAX)&lt;br /&gt;
#Принципи методів атаки на переспряження&lt;br /&gt;
#Основні недоліки Bluetooth?&lt;br /&gt;
#Хто зробив прорив, знайшовши спосіб скоротити час перебору PIN-кода в рази?&lt;br /&gt;
#Чим відрізняється пасивна атака на PIN-код від активної?&lt;br /&gt;
#Для чого був розроблений профіль Basic Imaging Profile (BIP)?&lt;br /&gt;
#Що таке інтерференція?&lt;br /&gt;
#Як здійснюється передача?Пакетами?Якщо так то яка величина пакета?&lt;br /&gt;
#Чи має блютус MAC-адреси?&lt;br /&gt;
&lt;br /&gt;
= Ресурси Internet =&lt;br /&gt;
&lt;br /&gt;
* http://www.bluetooth.org — офіційний сайт групи розробників технології (містить специфікації)&lt;br /&gt;
* http://www.bluetooth.com — офіційний сайт для користувачів технології&lt;br /&gt;
* http://www.bluesoleil.com&lt;br /&gt;
&lt;br /&gt;
= Майбутнє Bluetooth =&lt;br /&gt;
Так історично склалося , що на сьогоднішній день ми маємо три частково перетинаються бездротові технології для передачі даних - це Wi -Fi , Bluetooth і ZigBee . Кожна з них , що характерно , постійно намагається влізти на чужу територію. Так , постійно удосконалюються специфікації кожної з перерахованої вище технології знижують споживання приемопередатчиков і розширюють зону покриття. Але на практиці це призводить до того , що ми маємо не одне універсальне рішення , а комбіноване , здатне працювати в декількох діапазонах відразу з підтримкою всіх можливих стандартів . Чи треба говорити , що це типові &amp;quot; милиці &amp;quot; ? Чи зміниться така ситуація в майбутньому? Малоймовірно , оскільки кожна з технологій обросла такими групами підтримки в усьому її прояві , що говорити про уніфікацію бездротового інтерфейсу навіть якось дивно.&lt;br /&gt;
&lt;br /&gt;
Прикладом вищесказаного може служити інформація про плани з розвитку стандарту Bluetooth. Оновлення специфікацій Bluetooth , яке очікується в листопаді 2013 року, а також в 2014 і 2015 роках , зробить упор на мало споживаючі режими і множинні з'єднання. Фактично мова йде чи не про повне вторгнення Bluetooth в зону відповідальності стандарту ZigBee , який створювався для датчиків і сенсорів з бездротового підключення. Адже вже перші профайли Bluetooth LE ( Low Energy ) розроблені до літа 2011 року, давали можливість сенсорам з підтримкою Bluetooth LE роками працювати від батарейок - «таблеток» .&lt;br /&gt;
&lt;br /&gt;
У майбутньому Bluetooth LE буде орієнтований на ще більш широкий спектр сенсорів як &amp;quot; натільних &amp;quot; - для моніторингу стану організму людини , так і для індустріальних , автомобільних та інших потреб . Для підключення до мережі Інтернет мільярдів сенсорів і пристроїв стандарт Bluetooth LE буде підтримувати протокол IPv6 - це буде одна з практичних реалізацій &amp;quot;Інтернету Речей&amp;quot; . Швидкість обміну даними підвищиться з сьогоднішніх 1 Мбіт / с до 2 Мбіт / с із збереженням паритету за споживанням або навіть з можливістю знизити споживання . При цьому буде гарантуватися збільшення зони покриття. З інших поліпшень з'являться прискорення перепідключення , що заощадить заряд батарейок , підвищення рівня захисту даних від перехоплення , допомога в орієнтації у приміщеннях , групова передача даних ( широкомовлення ) і дещо інше . Відповідно, обіцяє з'явитися цікава периферія. Особливо носимая . Через пару років , виходячи на ранкову пробіжку , доведеться не забути начепити на себе дюжину -другу датчиків.--[[Користувач:Максим|Максим]] 15:56, 8 грудня 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
[[category:Комп'ютерні мережі]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_WI-FI</id>
		<title>Обговорення:Технологія WI-FI</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_WI-FI"/>
				<updated>2013-12-08T11:54:47Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Відгуки==&lt;br /&gt;
&lt;br /&gt;
Дана інформація дуже цікава. Велике дякую!!!!&lt;br /&gt;
&lt;br /&gt;
--[[User:Mnagorniy|Mnagorniy]] 12:18, 24 декабря 2008 (EET)&lt;br /&gt;
&lt;br /&gt;
Приєднуюсь до попередньо написаних слів. Справді тема розкрита повно та розгорнуто. Дуже цікаво. Дякую.&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Александр Spirit|Остапчук]] 10:52, 14 декабря 2010 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Alex007|Alex007]] 10:05, 10 грудня 2012 (EET)&lt;br /&gt;
Як здійснюється захист  мереж Wi-Fi?&lt;br /&gt;
&lt;br /&gt;
Як пристрої працюючи в одній частоті не заважають один одному?&lt;br /&gt;
&lt;br /&gt;
Чи можна обмежити доступ до мережі WiFi окремому користувачу?&lt;br /&gt;
&lt;br /&gt;
Чим відрізняється точка доступу від маршрутизатора?&lt;br /&gt;
&lt;br /&gt;
Що спільного і що відмінного між мережею WiFi і Ethernet? (Ну окрім того, що то провідна мережа, а то безпровідна)&lt;br /&gt;
&lt;br /&gt;
Як підключити WiFi до звичайного ПК?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Информации по тему достаточно, но почему не рассказать про &amp;quot;самые распространенные ошибки при настройке Wi-Fi роутеров&amp;quot; и тоже весьма занимательная &amp;quot;самые популярные пароли wi-fi&amp;quot;...&lt;br /&gt;
(Итак, вот она, горячая десятка самых часто используемых паролей wi-fi: &lt;br /&gt;
&lt;br /&gt;
- password1&lt;br /&gt;
- zxc123&lt;br /&gt;
- дата рождения (дд.мм.гг)&lt;br /&gt;
- password&lt;br /&gt;
- qwerty&lt;br /&gt;
- 123456 &lt;br /&gt;
- iloveyou&lt;br /&gt;
- имя пользователя&lt;br /&gt;
- адрес электронной почты&lt;br /&gt;
- vkontakte)--[[Користувач:Максим|Максим]] 13:54, 8 грудня 2013 (EET)&lt;br /&gt;
&lt;br /&gt;
--[[Користувач:SlavaHacker32|SlavaHacker32]] 10:28, 10 грудня 2012 (EET)&lt;br /&gt;
&lt;br /&gt;
--[[Користувач:Stroganov V|Stroganov V]] 10:18, 10 грудня 2012 (EET)&lt;br /&gt;
&lt;br /&gt;
Про захист мереж http://wiki.kspu.kr.ua/index.php/%D0%97%D0%B0%D1%85%D0%B8%D1%81%D1%82_%D0%BC%D0%B5%D1%80%D0%B5%D0%B6_Wi-Fi&lt;br /&gt;
&lt;br /&gt;
Все повністю розкрито і цікаво описано. Було би добре додати опис налаштування роутера Wi-Fi :) --[[Користувач:Гончаренко Євген|Гончаренко Євген]] 19:00, 11 листопада 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_WI-FI</id>
		<title>Обговорення:Технологія WI-FI</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A2%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D1%96%D1%8F_WI-FI"/>
				<updated>2013-12-08T11:54:04Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Відгуки==&lt;br /&gt;
&lt;br /&gt;
Дана інформація дуже цікава. Велике дякую!!!!&lt;br /&gt;
&lt;br /&gt;
--[[User:Mnagorniy|Mnagorniy]] 12:18, 24 декабря 2008 (EET)&lt;br /&gt;
&lt;br /&gt;
Приєднуюсь до попередньо написаних слів. Справді тема розкрита повно та розгорнуто. Дуже цікаво. Дякую.&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Александр Spirit|Остапчук]] 10:52, 14 декабря 2010 (EET)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Alex007|Alex007]] 10:05, 10 грудня 2012 (EET)&lt;br /&gt;
Як здійснюється захист  мереж Wi-Fi?&lt;br /&gt;
&lt;br /&gt;
Як пристрої працюючи в одній частоті не заважають один одному?&lt;br /&gt;
&lt;br /&gt;
Чи можна обмежити доступ до мережі WiFi окремому користувачу?&lt;br /&gt;
&lt;br /&gt;
Чим відрізняється точка доступу від маршрутизатора?&lt;br /&gt;
&lt;br /&gt;
Що спільного і що відмінного між мережею WiFi і Ethernet? (Ну окрім того, що то провідна мережа, а то безпровідна)&lt;br /&gt;
&lt;br /&gt;
Як підключити WiFi до звичайного ПК?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Информации по тему достаточно, но почему не рассказать про &amp;quot;самые распространенные ошибки при настройке Wi-Fi роутеров&amp;quot; и тоже весьма занимательная &amp;quot;самые популярные пароли wi-fi&amp;quot;...&lt;br /&gt;
(Итак, вот она, горячая десятка самых часто используемых паролей wi-fi: &lt;br /&gt;
&lt;br /&gt;
- password1&lt;br /&gt;
- zxc123&lt;br /&gt;
- дата рождения (дд.мм.гг)&lt;br /&gt;
- password&lt;br /&gt;
- qwerty&lt;br /&gt;
- 123456 &lt;br /&gt;
- iloveyou&lt;br /&gt;
- имя пользователя&lt;br /&gt;
- адрес электронной почты&lt;br /&gt;
- vkontakte)&lt;br /&gt;
&lt;br /&gt;
--[[Користувач:SlavaHacker32|SlavaHacker32]] 10:28, 10 грудня 2012 (EET)&lt;br /&gt;
&lt;br /&gt;
--[[Користувач:Stroganov V|Stroganov V]] 10:18, 10 грудня 2012 (EET)&lt;br /&gt;
&lt;br /&gt;
Про захист мереж http://wiki.kspu.kr.ua/index.php/%D0%97%D0%B0%D1%85%D0%B8%D1%81%D1%82_%D0%BC%D0%B5%D1%80%D0%B5%D0%B6_Wi-Fi&lt;br /&gt;
&lt;br /&gt;
Все повністю розкрито і цікаво описано. Було би добре додати опис налаштування роутера Wi-Fi :) --[[Користувач:Гончаренко Євген|Гончаренко Євген]] 19:00, 11 листопада 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D0%98%D0%A1%D0%9E%D0%9A%D0%9E%D0%A8%D0%92%D0%98%D0%94%D0%9A%D0%86%D0%A1%D0%9D%D0%86_%D0%9C%D0%95%D0%A0%D0%95%D0%96%D0%86</id>
		<title>Обговорення:ВИСОКОШВИДКІСНІ МЕРЕЖІ</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D0%98%D0%A1%D0%9E%D0%9A%D0%9E%D0%A8%D0%92%D0%98%D0%94%D0%9A%D0%86%D0%A1%D0%9D%D0%86_%D0%9C%D0%95%D0%A0%D0%95%D0%96%D0%86"/>
				<updated>2013-12-08T10:40:22Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Материал интересный но не хватает форматирования текста.&lt;br /&gt;
&lt;br /&gt;
--[[User:Онищенко Сергей|Godrik]] 13:02, 12 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
Это ты к какой теме написал, Серёжа?&lt;br /&gt;
&lt;br /&gt;
--[[User:Мусієнко Тетяна|musy4ka]] 13:07, 12 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Здесь все очевидно, материал нужно разбавить рисунками...&lt;br /&gt;
[[Файл:Imagiga.jpg]] [[Файл:Imagiga2.jpg]]--[[Користувач:Максим|Максим]] 12:40, 8 грудня 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Imagiga2.jpg</id>
		<title>Файл:Imagiga2.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Imagiga2.jpg"/>
				<updated>2013-12-08T10:39:55Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Imagiga.jpg</id>
		<title>Файл:Imagiga.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Imagiga.jpg"/>
				<updated>2013-12-08T10:39:13Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:Ethernet</id>
		<title>Обговорення:Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:Ethernet"/>
				<updated>2013-12-08T10:32:16Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Материал выложил неплохо, да и за оформление отдельно надо отметить.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tarasenko A|Tarasenko A]] 13:14, 12 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Чудовий матеріал. Добре що є підпосилання, це розвантажує сторінку.&lt;br /&gt;
--[[Користувач:Чайка Едуард|Чайка Едуард]] 13:04, 3 січня 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Следует более подробнее рассказать о причинах возникновения коллизий, а также этапы доступа к среде (все данные, передаваемые по сети, помещаются в кадры определенной структуры и снабжаются уникальным адресом станции назначения. Чтобы получить возможность передавать кадр, станция должна убедиться, что разделяемая среда свободна. Это достигается прослушиванием основной гармоники сигнала, которая также называется несущей частотой (carrier-sense)...).--[[Користувач:Максим|Максим]] 12:32, 8 грудня 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:Ethernet</id>
		<title>Обговорення:Ethernet</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:Ethernet"/>
				<updated>2013-12-08T10:32:00Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Материал выложил неплохо, да и за оформление отдельно надо отметить.&lt;br /&gt;
&lt;br /&gt;
--[[User:Tarasenko A|Tarasenko A]] 13:14, 12 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Чудовий матеріал. Добре що є підпосилання, це розвантажує сторінку.&lt;br /&gt;
--[[Користувач:Чайка Едуард|Чайка Едуард]] 13:04, 3 січня 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Следует более подробнее рассказать о причинах возникновения коллизий, а также этапы доступа к среде (все данные, передаваемые по сети, помещаются в кадры определенной структуры и снабжаются уникальным адресом станции назначения. Чтобы получить возможность передавать кадр, станция должна убедиться, что разделяемая среда свободна. Это достигается прослушиванием основной гармоники сигнала, которая также называется несущей частотой (carrier-sense)...).&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A1%D1%82%D0%B5%D0%BA_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%96%D0%B2</id>
		<title>Обговорення:Стек протоколів</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A1%D1%82%D0%B5%D0%BA_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%96%D0%B2"/>
				<updated>2013-12-08T10:24:37Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: Створена сторінка: Стоит добавить прикладные протоколы (которые отвечают за взаимодействие приложений. Ниж...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Стоит добавить прикладные протоколы (которые отвечают за взаимодействие приложений. Ниже приведены наиболее популярные прикладные протоколы, AFP, FTP, NCP, SNMP, HTTP).--[[Користувач:Максим|Максим]] 12:24, 8 грудня 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A2%D0%9E%D0%9F%D0%9E%D0%9B%D0%9E%D0%93%D0%86%D0%87_%D0%9C%D0%95%D0%A0%D0%95%D0%96</id>
		<title>Обговорення:ТОПОЛОГІЇ МЕРЕЖ</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A2%D0%9E%D0%9F%D0%9E%D0%9B%D0%9E%D0%93%D0%86%D0%87_%D0%9C%D0%95%D0%A0%D0%95%D0%96"/>
				<updated>2013-12-08T10:19:02Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Потреба в коректуванні ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;деяких можливих зв'язків (Мал. 5,б). У мережі &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Що за малюнок 5, де він є?&lt;br /&gt;
&lt;br /&gt;
--[[User:V kotyak|V kotyak]] 13:05, 28 апреля 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
=== Потреба в коректуванні ===&lt;br /&gt;
&lt;br /&gt;
Відповідність тексту щодо посилань на малюнки виправлена.&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:E dyachenko|E dyachenko]] 15:57, 15 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
== Очікується ==&lt;br /&gt;
&lt;br /&gt;
Очікується завершення статті...&lt;br /&gt;
&lt;br /&gt;
--[[User:Tkanov|Tkanoff]] 13:44, 12 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Спеціальні топології досить поширені..... ем, а які?)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Затворний Денис|doctor]] 13:47, 12 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
Обережніше з малюнками. Де на одному з них заземлення на термінаторі? (Рис перед топологією)&lt;br /&gt;
&lt;br /&gt;
--[[Користувач:Слєсаренко Микола|S_N]] 13:15, 14 січня 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Собственно было бы актуально в заключении указать достоинства и недостатки в виде таблицы, к примеру:&lt;br /&gt;
Топология «Звезда»&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Достоинства&lt;br /&gt;
|-&lt;br /&gt;
| 1) Подключение новых рабочих станций не вызывает особых затруднений.&lt;br /&gt;
| 2) Возможность мониторинга сети и централизованного управления сетью&lt;br /&gt;
| 3) При использовании централизованного управления сетью локализация дефектов соединений максимально упрощается.&lt;br /&gt;
|4)Хорошая расширяемость и модернизация.&lt;br /&gt;
|-&lt;br /&gt;
! Недостатки&lt;br /&gt;
|-&lt;br /&gt;
| 1) Отказ концентратора приводит к отключению от сети всех рабочих станций, подключенных к ней.&lt;br /&gt;
| 2) Достаточно высокая стоимость реализации, т.к. требуется большое количество кабеля.&lt;br /&gt;
|}&lt;br /&gt;
--[[Користувач:Максим|Максим]] 12:19, 8 грудня 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A4%D0%86%D0%97%D0%98%D0%A7%D0%9D%D0%90_%D0%A2%D0%90_%D0%9B%D0%9E%D0%93%D0%86%D0%A7%D0%9D%D0%90_%D0%A1%D0%A2%D0%A0%D0%A3%D0%9A%D0%A2%D0%A3%D0%A0%D0%98%D0%97%D0%90%D0%A6%D0%86%D0%AF_%D0%9C%D0%95%D0%A0%D0%95%D0%96</id>
		<title>Обговорення:ФІЗИЧНА ТА ЛОГІЧНА СТРУКТУРИЗАЦІЯ МЕРЕЖ</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A4%D0%86%D0%97%D0%98%D0%A7%D0%9D%D0%90_%D0%A2%D0%90_%D0%9B%D0%9E%D0%93%D0%86%D0%A7%D0%9D%D0%90_%D0%A1%D0%A2%D0%A0%D0%A3%D0%9A%D0%A2%D0%A3%D0%A0%D0%98%D0%97%D0%90%D0%A6%D0%86%D0%AF_%D0%9C%D0%95%D0%A0%D0%95%D0%96"/>
				<updated>2013-12-08T10:17:54Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Дуже хороші малюнки, за допомогою яких краще сприймаєть матеріал, але можна було б більш ширше у статті викласти теорію.--[[Користувач:Пашанова Лена|Пашанова Лена]] 19:32, 23 грудня 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Неплохо бы показать еще и вариант проблемной конфигурации (в виде рисунка). Речь идет о причине возникновения перегрузок, которые может лежать и в сетевых платах, и в шинах сервера.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Stuff09.gif]]&lt;br /&gt;
--[[Користувач:Максим|Максим]] 12:17, 8 грудня 2013 (EET)&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A4%D0%86%D0%97%D0%98%D0%A7%D0%9D%D0%90_%D0%A2%D0%90_%D0%9B%D0%9E%D0%93%D0%86%D0%A7%D0%9D%D0%90_%D0%A1%D0%A2%D0%A0%D0%A3%D0%9A%D0%A2%D0%A3%D0%A0%D0%98%D0%97%D0%90%D0%A6%D0%86%D0%AF_%D0%9C%D0%95%D0%A0%D0%95%D0%96</id>
		<title>Обговорення:ФІЗИЧНА ТА ЛОГІЧНА СТРУКТУРИЗАЦІЯ МЕРЕЖ</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A4%D0%86%D0%97%D0%98%D0%A7%D0%9D%D0%90_%D0%A2%D0%90_%D0%9B%D0%9E%D0%93%D0%86%D0%A7%D0%9D%D0%90_%D0%A1%D0%A2%D0%A0%D0%A3%D0%9A%D0%A2%D0%A3%D0%A0%D0%98%D0%97%D0%90%D0%A6%D0%86%D0%AF_%D0%9C%D0%95%D0%A0%D0%95%D0%96"/>
				<updated>2013-12-08T10:16:53Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Дуже хороші малюнки, за допомогою яких краще сприймаєть матеріал, але можна було б більш ширше у статті викласти теорію.--[[Користувач:Пашанова Лена|Пашанова Лена]] 19:32, 23 грудня 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Неплохо бы показать еще и вариант проблемной конфигурации (в виде рисунка). Речь идет о причине возникновения перегрузок, которые может лежать и в сетевых платах, и в шинах сервера.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Stuff09.gif]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Stuff09.gif</id>
		<title>Файл:Stuff09.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:Stuff09.gif"/>
				<updated>2013-12-08T10:16:12Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A2%D0%9E%D0%9F%D0%9E%D0%9B%D0%9E%D0%93%D0%86%D0%87_%D0%9C%D0%95%D0%A0%D0%95%D0%96</id>
		<title>Обговорення:ТОПОЛОГІЇ МЕРЕЖ</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%A2%D0%9E%D0%9F%D0%9E%D0%9B%D0%9E%D0%93%D0%86%D0%87_%D0%9C%D0%95%D0%A0%D0%95%D0%96"/>
				<updated>2013-12-08T10:07:29Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Очікується */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Потреба в коректуванні ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;деяких можливих зв'язків (Мал. 5,б). У мережі &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Що за малюнок 5, де він є?&lt;br /&gt;
&lt;br /&gt;
--[[User:V kotyak|V kotyak]] 13:05, 28 апреля 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
=== Потреба в коректуванні ===&lt;br /&gt;
&lt;br /&gt;
Відповідність тексту щодо посилань на малюнки виправлена.&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:E dyachenko|E dyachenko]] 15:57, 15 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
== Очікується ==&lt;br /&gt;
&lt;br /&gt;
Очікується завершення статті...&lt;br /&gt;
&lt;br /&gt;
--[[User:Tkanov|Tkanoff]] 13:44, 12 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Спеціальні топології досить поширені..... ем, а які?)&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--[[User:Затворний Денис|doctor]] 13:47, 12 мая 2009 (EEST)&lt;br /&gt;
&lt;br /&gt;
Обережніше з малюнками. Де на одному з них заземлення на термінаторі? (Рис перед топологією)&lt;br /&gt;
&lt;br /&gt;
--[[Користувач:Слєсаренко Микола|S_N]] 13:15, 14 січня 2010 (UTC)&lt;br /&gt;
&lt;br /&gt;
Собственно было бы актуально в заключении указать достоинства и недостатки в виде таблицы, к примеру:&lt;br /&gt;
Топология «Звезда»&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Достоинства&lt;br /&gt;
|-&lt;br /&gt;
| 1) Подключение новых рабочих станций не вызывает особых затруднений.&lt;br /&gt;
| 2) Возможность мониторинга сети и централизованного управления сетью&lt;br /&gt;
| 3) При использовании централизованного управления сетью локализация дефектов соединений максимально упрощается.&lt;br /&gt;
|4)Хорошая расширяемость и модернизация.&lt;br /&gt;
|-&lt;br /&gt;
! Недостатки&lt;br /&gt;
|-&lt;br /&gt;
| 1) Отказ концентратора приводит к отключению от сети всех рабочих станций, подключенных к ней.&lt;br /&gt;
| 2) Достаточно высокая стоимость реализации, т.к. требуется большое количество кабеля.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T10:22:45Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Літерали */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Наслідування в JavaScript здійснюється через клонування поведінки об'єкта і розширення його спеціалізованим поведінкою. Об'єкт, поведінка якого клонують, називається прототипом.&lt;br /&gt;
&lt;br /&gt;
Прототип - це звичайний об'єкт, який ділиться своєю поведінкою з іншими об'єктами - в цьому випадку він виступає в якості батька.&lt;br /&gt;
&lt;br /&gt;
[[Файл:8bba.png]]&lt;br /&gt;
&lt;br /&gt;
var person = Object.create(null)&lt;br /&gt;
&lt;br /&gt;
// Here we are reusing the previous getter/setter functions&lt;br /&gt;
:    Object.defineProperty(person, 'name', { get: get_full_name&lt;br /&gt;
:                                      , set: set_full_name&lt;br /&gt;
:                                      , configurable: true&lt;br /&gt;
:                                      , enumerable:   true })&lt;br /&gt;
&lt;br /&gt;
// And adding the `greet' function&lt;br /&gt;
person.greet = function (person) {&lt;br /&gt;
:         return this.name + ': Why, hello there, ' + person + '.'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Then we can share those behaviours with Mikhail&lt;br /&gt;
// By creating a new object that has it's [[Prototype]] property&lt;br /&gt;
// pointing to `person'.&lt;br /&gt;
var mikhail = Object.create(person)&lt;br /&gt;
:             mikhail.first_name = 'Mikhail'&lt;br /&gt;
:             mikhail.last_name  = 'Weiß'&lt;br /&gt;
:             mikhail.age        = 19&lt;br /&gt;
:             mikhail.gender     = 'Male'&lt;br /&gt;
&lt;br /&gt;
// And we can test whether things are actually working.&lt;br /&gt;
// First, `name' should be looked on `person'&lt;br /&gt;
:          mikhail.name&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
// Setting `name' should trigger the setter&lt;br /&gt;
:          mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
// Such that `first_name' and `last_name' now reflect the&lt;br /&gt;
// previously name setting.&lt;br /&gt;
:          mikhail.first_name&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
:          mikhail.last_name&lt;br /&gt;
// =&amp;gt; 'White'&lt;br /&gt;
&lt;br /&gt;
// `greet' is also inherited from `person'.&lt;br /&gt;
:         mikhail.greet('you')&lt;br /&gt;
// =&amp;gt; 'Michael White: Why, hello there, you.'&lt;br /&gt;
&lt;br /&gt;
// And just to be sure, we can check which properties actually&lt;br /&gt;
// belong to `mikhail'&lt;br /&gt;
Object.keys(mikhail)&lt;br /&gt;
// =&amp;gt; [ 'first_name', 'last_name', 'age', 'gender' ]&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'first_name', { &lt;br /&gt;
:                  value:    'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:                  , writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { &lt;br /&gt;
:                  value:    'Weiß'&lt;br /&gt;
&lt;br /&gt;
:                  , writable: true })'''&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
'''// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
&lt;br /&gt;
:              return this.first_name + ' ' + this.last_name&lt;br /&gt;
}'''&lt;br /&gt;
&lt;br /&gt;
'''// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
&lt;br /&gt;
function set_full_name(new_name) { &lt;br /&gt;
&lt;br /&gt;
:       var names&lt;br /&gt;
&lt;br /&gt;
:          names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:           this.first_name = names[⁣'0'] || ''&lt;br /&gt;
&lt;br /&gt;
:           this.last_name  = names['1'] || '''''&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'name', &lt;br /&gt;
&lt;br /&gt;
:           { get: get_full_name&lt;br /&gt;
&lt;br /&gt;
:           , set: set_full_name&lt;br /&gt;
&lt;br /&gt;
:           , configurable: true&lt;br /&gt;
&lt;br /&gt;
:           , enumerable:   true })'''&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.last_name = 'White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail White''''&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'White''''&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
&lt;br /&gt;
== Літерали ==&lt;br /&gt;
&lt;br /&gt;
Простий спосіб створити об'єкт полягає у використанні літерального синтаксису JavaScript. Літеральний об'єкт визначає новий об'єкт.&lt;br /&gt;
&lt;br /&gt;
У кожному разі, синтаксис літеральних об'єктів дозволяє визначати прості об'єкти і ініціалізувати їх властивості. Перепишемо приклад створення об'єкта Mikhail:&lt;br /&gt;
&lt;br /&gt;
var mikhail = { first_name: 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:            , last_name:  'Weiß'&lt;br /&gt;
&lt;br /&gt;
:            , age: 19&lt;br /&gt;
&lt;br /&gt;
:            , gender: 'Male'&lt;br /&gt;
&lt;br /&gt;
// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
, get name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name }&lt;br /&gt;
&lt;br /&gt;
// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object,&lt;br /&gt;
&lt;br /&gt;
// from a full name.&lt;br /&gt;
&lt;br /&gt;
:               , set name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:               this.first_name = names['0'] || ''&lt;br /&gt;
&lt;br /&gt;
:               this.last_name  = names['1'] || '' }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Невалідний імена властивостей можуть бути укладені в лапки. Враховуйте, що запис для getter / setter в літеральном вигляді визначається анонімними функціями. Якщо ви хочете пов'язати раніше оголошену функцію з getter / setter, то ви повинні використовувати метод Object.defineProperty.&lt;br /&gt;
&lt;br /&gt;
Подивимося на загальне правила літерального синтаксису:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;object-literal&amp;gt;  ::= &amp;quot;{&amp;quot; &amp;lt;property-list&amp;gt; &amp;quot;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property-list&amp;gt;   ::= &amp;lt;property&amp;gt; [&amp;quot;,&amp;quot; &amp;lt;property&amp;gt;]*&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property&amp;gt;        ::= &amp;lt;data-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;getter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;setter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;data-property&amp;gt;   ::= &amp;lt;property-name&amp;gt; &amp;quot;:&amp;quot; &amp;lt;expression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;getter-property&amp;gt; ::= &amp;quot;get&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;setter-property&amp;gt; ::= &amp;quot;set&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;property-name&amp;gt;   ::= &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;quoted-identifier&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
Літеральні об'єкти можуть з'являтися всередині виразів в JavaScript. Через деякій неоднозначності новачки іноді плутаються:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// This is a block statement, with a label:&lt;br /&gt;
:           { foo: 'bar' }&lt;br /&gt;
// =&amp;gt; 'bar'&lt;br /&gt;
&lt;br /&gt;
// This is a syntax error (labels can't be quoted):&lt;br /&gt;
:           { &amp;quot;foo&amp;quot;: 'bar' }&lt;br /&gt;
// =&amp;gt; SyntaxError: Invalid label&lt;br /&gt;
&lt;br /&gt;
// This is an object literal (note the parenthesis to force&lt;br /&gt;
// parsing the contents as an expression):&lt;br /&gt;
:           ({ &amp;quot;foo&amp;quot;: 'bar' })&lt;br /&gt;
// =&amp;gt; { foo: 'bar' }&lt;br /&gt;
&lt;br /&gt;
// Where the parser is already expecting expressions,&lt;br /&gt;
// object literals don't need to be forced. E.g.:&lt;br /&gt;
var x = { foo: 'bar' }&lt;br /&gt;
:          fn({foo: 'bar'})&lt;br /&gt;
:          return { foo: 'bar' }&lt;br /&gt;
== Список використаної літератури ==&lt;br /&gt;
http://habrahabr.ru/post/153365/&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T10:21:11Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Наслідування */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Наслідування в JavaScript здійснюється через клонування поведінки об'єкта і розширення його спеціалізованим поведінкою. Об'єкт, поведінка якого клонують, називається прототипом.&lt;br /&gt;
&lt;br /&gt;
Прототип - це звичайний об'єкт, який ділиться своєю поведінкою з іншими об'єктами - в цьому випадку він виступає в якості батька.&lt;br /&gt;
&lt;br /&gt;
[[Файл:8bba.png]]&lt;br /&gt;
&lt;br /&gt;
var person = Object.create(null)&lt;br /&gt;
&lt;br /&gt;
// Here we are reusing the previous getter/setter functions&lt;br /&gt;
:    Object.defineProperty(person, 'name', { get: get_full_name&lt;br /&gt;
:                                      , set: set_full_name&lt;br /&gt;
:                                      , configurable: true&lt;br /&gt;
:                                      , enumerable:   true })&lt;br /&gt;
&lt;br /&gt;
// And adding the `greet' function&lt;br /&gt;
person.greet = function (person) {&lt;br /&gt;
:         return this.name + ': Why, hello there, ' + person + '.'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Then we can share those behaviours with Mikhail&lt;br /&gt;
// By creating a new object that has it's [[Prototype]] property&lt;br /&gt;
// pointing to `person'.&lt;br /&gt;
var mikhail = Object.create(person)&lt;br /&gt;
:             mikhail.first_name = 'Mikhail'&lt;br /&gt;
:             mikhail.last_name  = 'Weiß'&lt;br /&gt;
:             mikhail.age        = 19&lt;br /&gt;
:             mikhail.gender     = 'Male'&lt;br /&gt;
&lt;br /&gt;
// And we can test whether things are actually working.&lt;br /&gt;
// First, `name' should be looked on `person'&lt;br /&gt;
:          mikhail.name&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
// Setting `name' should trigger the setter&lt;br /&gt;
:          mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
// Such that `first_name' and `last_name' now reflect the&lt;br /&gt;
// previously name setting.&lt;br /&gt;
:          mikhail.first_name&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
:          mikhail.last_name&lt;br /&gt;
// =&amp;gt; 'White'&lt;br /&gt;
&lt;br /&gt;
// `greet' is also inherited from `person'.&lt;br /&gt;
:         mikhail.greet('you')&lt;br /&gt;
// =&amp;gt; 'Michael White: Why, hello there, you.'&lt;br /&gt;
&lt;br /&gt;
// And just to be sure, we can check which properties actually&lt;br /&gt;
// belong to `mikhail'&lt;br /&gt;
Object.keys(mikhail)&lt;br /&gt;
// =&amp;gt; [ 'first_name', 'last_name', 'age', 'gender' ]&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'first_name', { &lt;br /&gt;
:                  value:    'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:                  , writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { &lt;br /&gt;
:                  value:    'Weiß'&lt;br /&gt;
&lt;br /&gt;
:                  , writable: true })'''&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
'''// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
&lt;br /&gt;
:              return this.first_name + ' ' + this.last_name&lt;br /&gt;
}'''&lt;br /&gt;
&lt;br /&gt;
'''// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
&lt;br /&gt;
function set_full_name(new_name) { &lt;br /&gt;
&lt;br /&gt;
:       var names&lt;br /&gt;
&lt;br /&gt;
:          names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:           this.first_name = names[⁣'0'] || ''&lt;br /&gt;
&lt;br /&gt;
:           this.last_name  = names['1'] || '''''&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'name', &lt;br /&gt;
&lt;br /&gt;
:           { get: get_full_name&lt;br /&gt;
&lt;br /&gt;
:           , set: set_full_name&lt;br /&gt;
&lt;br /&gt;
:           , configurable: true&lt;br /&gt;
&lt;br /&gt;
:           , enumerable:   true })'''&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.last_name = 'White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail White''''&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'White''''&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
&lt;br /&gt;
== Літерали ==&lt;br /&gt;
&lt;br /&gt;
Простий спосіб створити об'єкт полягає у використанні літерального синтаксису JavaScript. Літеральний об'єкт визначає новий об'єкт.&lt;br /&gt;
&lt;br /&gt;
У кожному разі, синтаксис літеральних об'єктів дозволяє визначати прості об'єкти і ініціалізувати їх властивості. Перепишемо приклад створення об'єкта Mikhail:&lt;br /&gt;
&lt;br /&gt;
var mikhail = { first_name: 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:            , last_name:  'Weiß'&lt;br /&gt;
&lt;br /&gt;
:            , age: 19&lt;br /&gt;
&lt;br /&gt;
:            , gender: 'Male'&lt;br /&gt;
&lt;br /&gt;
// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
, get name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name }&lt;br /&gt;
&lt;br /&gt;
// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object,&lt;br /&gt;
&lt;br /&gt;
// from a full name.&lt;br /&gt;
&lt;br /&gt;
:               , set name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:               this.first_name = names['0'] || ''&lt;br /&gt;
&lt;br /&gt;
:               this.last_name  = names['1'] || '' }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Невалідний імена властивостей можуть бути укладені в лапки. Враховуйте, що запис для getter / setter в літеральном вигляді визначається анонімними функціями. Якщо ви хочете пов'язати раніше оголошену функцію з getter / setter, то ви повинні використовувати метод Object.defineProperty.&lt;br /&gt;
&lt;br /&gt;
Подивимося на загальне правила літерального синтаксису:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;object-literal&amp;gt;  ::= &amp;quot;{&amp;quot; &amp;lt;property-list&amp;gt; &amp;quot;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property-list&amp;gt;   ::= &amp;lt;property&amp;gt; [&amp;quot;,&amp;quot; &amp;lt;property&amp;gt;]*&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property&amp;gt;        ::= &amp;lt;data-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;getter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;setter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;data-property&amp;gt;   ::= &amp;lt;property-name&amp;gt; &amp;quot;:&amp;quot; &amp;lt;expression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;getter-property&amp;gt; ::= &amp;quot;get&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;setter-property&amp;gt; ::= &amp;quot;set&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;property-name&amp;gt;   ::= &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;quoted-identifier&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
Літеральні об'єкти можуть з'являтися всередині виразів в JavaScript. Через деякій неоднозначності новачки іноді плутаються:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// This is a block statement, with a label:&lt;br /&gt;
:           { foo: 'bar' }&lt;br /&gt;
// =&amp;gt; 'bar'&lt;br /&gt;
&lt;br /&gt;
// This is a syntax error (labels can't be quoted):&lt;br /&gt;
:           { &amp;quot;foo&amp;quot;: 'bar' }&lt;br /&gt;
// =&amp;gt; SyntaxError: Invalid label&lt;br /&gt;
&lt;br /&gt;
// This is an object literal (note the parenthesis to force&lt;br /&gt;
// parsing the contents as an expression):&lt;br /&gt;
:           ({ &amp;quot;foo&amp;quot;: 'bar' })&lt;br /&gt;
// =&amp;gt; { foo: 'bar' }&lt;br /&gt;
&lt;br /&gt;
// Where the parser is already expecting expressions,&lt;br /&gt;
// object literals don't need to be forced. E.g.:&lt;br /&gt;
var x = { foo: 'bar' }&lt;br /&gt;
:          fn({foo: 'bar'})&lt;br /&gt;
:          return { foo: 'bar' }&lt;br /&gt;
1, { foo:&lt;br /&gt;
&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T10:20:33Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Наслідування */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Успадкування в JavaScript здійснюється через клонування поведінки об'єкта і розширення його спеціалізованим поведінкою. Об'єкт, поведінка якого клонують, називається прототипом.&lt;br /&gt;
&lt;br /&gt;
Прототип - це звичайний об'єкт, який ділиться своєю поведінкою з іншими об'єктами - в цьому випадку він виступає в якості батька.&lt;br /&gt;
&lt;br /&gt;
[[Файл:8bba.png]]&lt;br /&gt;
&lt;br /&gt;
var person = Object.create(null)&lt;br /&gt;
&lt;br /&gt;
// Here we are reusing the previous getter/setter functions&lt;br /&gt;
:    Object.defineProperty(person, 'name', { get: get_full_name&lt;br /&gt;
:                                      , set: set_full_name&lt;br /&gt;
:                                      , configurable: true&lt;br /&gt;
:                                      , enumerable:   true })&lt;br /&gt;
&lt;br /&gt;
// And adding the `greet' function&lt;br /&gt;
person.greet = function (person) {&lt;br /&gt;
:         return this.name + ': Why, hello there, ' + person + '.'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// Then we can share those behaviours with Mikhail&lt;br /&gt;
// By creating a new object that has it's [[Prototype]] property&lt;br /&gt;
// pointing to `person'.&lt;br /&gt;
var mikhail = Object.create(person)&lt;br /&gt;
:             mikhail.first_name = 'Mikhail'&lt;br /&gt;
:             mikhail.last_name  = 'Weiß'&lt;br /&gt;
:             mikhail.age        = 19&lt;br /&gt;
:             mikhail.gender     = 'Male'&lt;br /&gt;
&lt;br /&gt;
// And we can test whether things are actually working.&lt;br /&gt;
// First, `name' should be looked on `person'&lt;br /&gt;
:          mikhail.name&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
// Setting `name' should trigger the setter&lt;br /&gt;
:          mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
// Such that `first_name' and `last_name' now reflect the&lt;br /&gt;
// previously name setting.&lt;br /&gt;
:          mikhail.first_name&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
:          mikhail.last_name&lt;br /&gt;
// =&amp;gt; 'White'&lt;br /&gt;
&lt;br /&gt;
// `greet' is also inherited from `person'.&lt;br /&gt;
:         mikhail.greet('you')&lt;br /&gt;
// =&amp;gt; 'Michael White: Why, hello there, you.'&lt;br /&gt;
&lt;br /&gt;
// And just to be sure, we can check which properties actually&lt;br /&gt;
// belong to `mikhail'&lt;br /&gt;
Object.keys(mikhail)&lt;br /&gt;
// =&amp;gt; [ 'first_name', 'last_name', 'age', 'gender' ]&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'first_name', { &lt;br /&gt;
:                  value:    'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:                  , writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { &lt;br /&gt;
:                  value:    'Weiß'&lt;br /&gt;
&lt;br /&gt;
:                  , writable: true })'''&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
'''// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
&lt;br /&gt;
:              return this.first_name + ' ' + this.last_name&lt;br /&gt;
}'''&lt;br /&gt;
&lt;br /&gt;
'''// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
&lt;br /&gt;
function set_full_name(new_name) { &lt;br /&gt;
&lt;br /&gt;
:       var names&lt;br /&gt;
&lt;br /&gt;
:          names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:           this.first_name = names[⁣'0'] || ''&lt;br /&gt;
&lt;br /&gt;
:           this.last_name  = names['1'] || '''''&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'name', &lt;br /&gt;
&lt;br /&gt;
:           { get: get_full_name&lt;br /&gt;
&lt;br /&gt;
:           , set: set_full_name&lt;br /&gt;
&lt;br /&gt;
:           , configurable: true&lt;br /&gt;
&lt;br /&gt;
:           , enumerable:   true })'''&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.last_name = 'White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail White''''&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'White''''&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
&lt;br /&gt;
== Літерали ==&lt;br /&gt;
&lt;br /&gt;
Простий спосіб створити об'єкт полягає у використанні літерального синтаксису JavaScript. Літеральний об'єкт визначає новий об'єкт.&lt;br /&gt;
&lt;br /&gt;
У кожному разі, синтаксис літеральних об'єктів дозволяє визначати прості об'єкти і ініціалізувати їх властивості. Перепишемо приклад створення об'єкта Mikhail:&lt;br /&gt;
&lt;br /&gt;
var mikhail = { first_name: 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:            , last_name:  'Weiß'&lt;br /&gt;
&lt;br /&gt;
:            , age: 19&lt;br /&gt;
&lt;br /&gt;
:            , gender: 'Male'&lt;br /&gt;
&lt;br /&gt;
// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
, get name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name }&lt;br /&gt;
&lt;br /&gt;
// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object,&lt;br /&gt;
&lt;br /&gt;
// from a full name.&lt;br /&gt;
&lt;br /&gt;
:               , set name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:               this.first_name = names['0'] || ''&lt;br /&gt;
&lt;br /&gt;
:               this.last_name  = names['1'] || '' }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Невалідний імена властивостей можуть бути укладені в лапки. Враховуйте, що запис для getter / setter в літеральном вигляді визначається анонімними функціями. Якщо ви хочете пов'язати раніше оголошену функцію з getter / setter, то ви повинні використовувати метод Object.defineProperty.&lt;br /&gt;
&lt;br /&gt;
Подивимося на загальне правила літерального синтаксису:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;object-literal&amp;gt;  ::= &amp;quot;{&amp;quot; &amp;lt;property-list&amp;gt; &amp;quot;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property-list&amp;gt;   ::= &amp;lt;property&amp;gt; [&amp;quot;,&amp;quot; &amp;lt;property&amp;gt;]*&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property&amp;gt;        ::= &amp;lt;data-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;getter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;setter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;data-property&amp;gt;   ::= &amp;lt;property-name&amp;gt; &amp;quot;:&amp;quot; &amp;lt;expression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;getter-property&amp;gt; ::= &amp;quot;get&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;setter-property&amp;gt; ::= &amp;quot;set&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;property-name&amp;gt;   ::= &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;quoted-identifier&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
Літеральні об'єкти можуть з'являтися всередині виразів в JavaScript. Через деякій неоднозначності новачки іноді плутаються:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// This is a block statement, with a label:&lt;br /&gt;
:           { foo: 'bar' }&lt;br /&gt;
// =&amp;gt; 'bar'&lt;br /&gt;
&lt;br /&gt;
// This is a syntax error (labels can't be quoted):&lt;br /&gt;
:           { &amp;quot;foo&amp;quot;: 'bar' }&lt;br /&gt;
// =&amp;gt; SyntaxError: Invalid label&lt;br /&gt;
&lt;br /&gt;
// This is an object literal (note the parenthesis to force&lt;br /&gt;
// parsing the contents as an expression):&lt;br /&gt;
:           ({ &amp;quot;foo&amp;quot;: 'bar' })&lt;br /&gt;
// =&amp;gt; { foo: 'bar' }&lt;br /&gt;
&lt;br /&gt;
// Where the parser is already expecting expressions,&lt;br /&gt;
// object literals don't need to be forced. E.g.:&lt;br /&gt;
var x = { foo: 'bar' }&lt;br /&gt;
:          fn({foo: 'bar'})&lt;br /&gt;
:          return { foo: 'bar' }&lt;br /&gt;
1, { foo:&lt;br /&gt;
&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:8bba.png</id>
		<title>Файл:8bba.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:8bba.png"/>
				<updated>2013-05-04T10:17:37Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T10:14:54Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Getter-и і setter-и */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'first_name', { &lt;br /&gt;
:                  value:    'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:                  , writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { &lt;br /&gt;
:                  value:    'Weiß'&lt;br /&gt;
&lt;br /&gt;
:                  , writable: true })'''&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
'''// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
&lt;br /&gt;
:              return this.first_name + ' ' + this.last_name&lt;br /&gt;
}'''&lt;br /&gt;
&lt;br /&gt;
'''// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
&lt;br /&gt;
function set_full_name(new_name) { &lt;br /&gt;
&lt;br /&gt;
:       var names&lt;br /&gt;
&lt;br /&gt;
:          names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:           this.first_name = names[⁣'0'] || ''&lt;br /&gt;
&lt;br /&gt;
:           this.last_name  = names['1'] || '''''&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'name', &lt;br /&gt;
&lt;br /&gt;
:           { get: get_full_name&lt;br /&gt;
&lt;br /&gt;
:           , set: set_full_name&lt;br /&gt;
&lt;br /&gt;
:           , configurable: true&lt;br /&gt;
&lt;br /&gt;
:           , enumerable:   true })'''&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
:           mikhail.last_name = 'White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail White''''&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
:          mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'White''''&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
&lt;br /&gt;
== Літерали ==&lt;br /&gt;
&lt;br /&gt;
Простий спосіб створити об'єкт полягає у використанні літерального синтаксису JavaScript. Літеральний об'єкт визначає новий об'єкт.&lt;br /&gt;
&lt;br /&gt;
У кожному разі, синтаксис літеральних об'єктів дозволяє визначати прості об'єкти і ініціалізувати їх властивості. Перепишемо приклад створення об'єкта Mikhail:&lt;br /&gt;
&lt;br /&gt;
var mikhail = { first_name: 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:            , last_name:  'Weiß'&lt;br /&gt;
&lt;br /&gt;
:            , age: 19&lt;br /&gt;
&lt;br /&gt;
:            , gender: 'Male'&lt;br /&gt;
&lt;br /&gt;
// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
, get name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name }&lt;br /&gt;
&lt;br /&gt;
// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object,&lt;br /&gt;
&lt;br /&gt;
// from a full name.&lt;br /&gt;
&lt;br /&gt;
:               , set name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:               this.first_name = names['0'] || ''&lt;br /&gt;
&lt;br /&gt;
:               this.last_name  = names['1'] || '' }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Невалідний імена властивостей можуть бути укладені в лапки. Враховуйте, що запис для getter / setter в літеральном вигляді визначається анонімними функціями. Якщо ви хочете пов'язати раніше оголошену функцію з getter / setter, то ви повинні використовувати метод Object.defineProperty.&lt;br /&gt;
&lt;br /&gt;
Подивимося на загальне правила літерального синтаксису:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;object-literal&amp;gt;  ::= &amp;quot;{&amp;quot; &amp;lt;property-list&amp;gt; &amp;quot;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property-list&amp;gt;   ::= &amp;lt;property&amp;gt; [&amp;quot;,&amp;quot; &amp;lt;property&amp;gt;]*&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property&amp;gt;        ::= &amp;lt;data-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;getter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;setter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;data-property&amp;gt;   ::= &amp;lt;property-name&amp;gt; &amp;quot;:&amp;quot; &amp;lt;expression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;getter-property&amp;gt; ::= &amp;quot;get&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;setter-property&amp;gt; ::= &amp;quot;set&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;property-name&amp;gt;   ::= &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;quoted-identifier&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
Літеральні об'єкти можуть з'являтися всередині виразів в JavaScript. Через деякій неоднозначності новачки іноді плутаються:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// This is a block statement, with a label:&lt;br /&gt;
:           { foo: 'bar' }&lt;br /&gt;
// =&amp;gt; 'bar'&lt;br /&gt;
&lt;br /&gt;
// This is a syntax error (labels can't be quoted):&lt;br /&gt;
:           { &amp;quot;foo&amp;quot;: 'bar' }&lt;br /&gt;
// =&amp;gt; SyntaxError: Invalid label&lt;br /&gt;
&lt;br /&gt;
// This is an object literal (note the parenthesis to force&lt;br /&gt;
// parsing the contents as an expression):&lt;br /&gt;
:           ({ &amp;quot;foo&amp;quot;: 'bar' })&lt;br /&gt;
// =&amp;gt; { foo: 'bar' }&lt;br /&gt;
&lt;br /&gt;
// Where the parser is already expecting expressions,&lt;br /&gt;
// object literals don't need to be forced. E.g.:&lt;br /&gt;
var x = { foo: 'bar' }&lt;br /&gt;
:          fn({foo: 'bar'})&lt;br /&gt;
:          return { foo: 'bar' }&lt;br /&gt;
1, { foo:&lt;br /&gt;
&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T10:12:40Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Літерали */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'first_name', { value:    'Mikhail'&lt;br /&gt;
&lt;br /&gt;
, writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { value:    'Weiß'&lt;br /&gt;
&lt;br /&gt;
, writable: true })'''&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
'''// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name&lt;br /&gt;
}'''&lt;br /&gt;
&lt;br /&gt;
'''// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
&lt;br /&gt;
function set_full_name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
this.first_name = names[⁣'0'] || ''&lt;br /&gt;
&lt;br /&gt;
this.last_name  = names['1'] || '''''&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'name', &lt;br /&gt;
&lt;br /&gt;
{ get: get_full_name&lt;br /&gt;
&lt;br /&gt;
, set: set_full_name&lt;br /&gt;
&lt;br /&gt;
, configurable: true&lt;br /&gt;
&lt;br /&gt;
, enumerable:   true })'''&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name = 'White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail White''''&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'White''''&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
&lt;br /&gt;
== Літерали ==&lt;br /&gt;
&lt;br /&gt;
Простий спосіб створити об'єкт полягає у використанні літерального синтаксису JavaScript. Літеральний об'єкт визначає новий об'єкт.&lt;br /&gt;
&lt;br /&gt;
У кожному разі, синтаксис літеральних об'єктів дозволяє визначати прості об'єкти і ініціалізувати їх властивості. Перепишемо приклад створення об'єкта Mikhail:&lt;br /&gt;
&lt;br /&gt;
var mikhail = { first_name: 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
:            , last_name:  'Weiß'&lt;br /&gt;
&lt;br /&gt;
:            , age: 19&lt;br /&gt;
&lt;br /&gt;
:            , gender: 'Male'&lt;br /&gt;
&lt;br /&gt;
// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
, get name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name }&lt;br /&gt;
&lt;br /&gt;
// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object,&lt;br /&gt;
&lt;br /&gt;
// from a full name.&lt;br /&gt;
&lt;br /&gt;
:               , set name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
:               this.first_name = names['0'] || ''&lt;br /&gt;
&lt;br /&gt;
:               this.last_name  = names['1'] || '' }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Невалідний імена властивостей можуть бути укладені в лапки. Враховуйте, що запис для getter / setter в літеральном вигляді визначається анонімними функціями. Якщо ви хочете пов'язати раніше оголошену функцію з getter / setter, то ви повинні використовувати метод Object.defineProperty.&lt;br /&gt;
&lt;br /&gt;
Подивимося на загальне правила літерального синтаксису:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;object-literal&amp;gt;  ::= &amp;quot;{&amp;quot; &amp;lt;property-list&amp;gt; &amp;quot;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property-list&amp;gt;   ::= &amp;lt;property&amp;gt; [&amp;quot;,&amp;quot; &amp;lt;property&amp;gt;]*&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property&amp;gt;        ::= &amp;lt;data-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;getter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:            | &amp;lt;setter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;data-property&amp;gt;   ::= &amp;lt;property-name&amp;gt; &amp;quot;:&amp;quot; &amp;lt;expression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;getter-property&amp;gt; ::= &amp;quot;get&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;setter-property&amp;gt; ::= &amp;quot;set&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;property-name&amp;gt;   ::= &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;quoted-identifier&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
Літеральні об'єкти можуть з'являтися всередині виразів в JavaScript. Через деякій неоднозначності новачки іноді плутаються:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// This is a block statement, with a label:&lt;br /&gt;
:           { foo: 'bar' }&lt;br /&gt;
// =&amp;gt; 'bar'&lt;br /&gt;
&lt;br /&gt;
// This is a syntax error (labels can't be quoted):&lt;br /&gt;
:           { &amp;quot;foo&amp;quot;: 'bar' }&lt;br /&gt;
// =&amp;gt; SyntaxError: Invalid label&lt;br /&gt;
&lt;br /&gt;
// This is an object literal (note the parenthesis to force&lt;br /&gt;
// parsing the contents as an expression):&lt;br /&gt;
:           ({ &amp;quot;foo&amp;quot;: 'bar' })&lt;br /&gt;
// =&amp;gt; { foo: 'bar' }&lt;br /&gt;
&lt;br /&gt;
// Where the parser is already expecting expressions,&lt;br /&gt;
// object literals don't need to be forced. E.g.:&lt;br /&gt;
var x = { foo: 'bar' }&lt;br /&gt;
:          fn({foo: 'bar'})&lt;br /&gt;
:          return { foo: 'bar' }&lt;br /&gt;
1, { foo:&lt;br /&gt;
&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T09:40:59Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'first_name', { value:    'Mikhail'&lt;br /&gt;
&lt;br /&gt;
, writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { value:    'Weiß'&lt;br /&gt;
&lt;br /&gt;
, writable: true })'''&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
'''// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name&lt;br /&gt;
}'''&lt;br /&gt;
&lt;br /&gt;
'''// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
&lt;br /&gt;
function set_full_name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
this.first_name = names[⁣'0'] || ''&lt;br /&gt;
&lt;br /&gt;
this.last_name  = names['1'] || '''''&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'name', &lt;br /&gt;
&lt;br /&gt;
{ get: get_full_name&lt;br /&gt;
&lt;br /&gt;
, set: set_full_name&lt;br /&gt;
&lt;br /&gt;
, configurable: true&lt;br /&gt;
&lt;br /&gt;
, enumerable:   true })'''&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name = 'White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail White''''&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'White''''&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
&lt;br /&gt;
== Літерали ==&lt;br /&gt;
&lt;br /&gt;
Простий спосіб створити об'єкт полягає у використанні літерального синтаксису JavaScript. Літеральний об'єкт визначає новий об'єкт.&lt;br /&gt;
&lt;br /&gt;
У кожному разі, синтаксис літеральних об'єктів дозволяє визначати прості об'єкти і ініціалізувати їх властивості. Перепишемо приклад створення об'єкта Mikhail:&lt;br /&gt;
&lt;br /&gt;
var mikhail = { first_name: 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
, last_name:  'Weiß'&lt;br /&gt;
&lt;br /&gt;
, age: 19&lt;br /&gt;
&lt;br /&gt;
, gender: 'Male'&lt;br /&gt;
&lt;br /&gt;
// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
, get name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name }&lt;br /&gt;
&lt;br /&gt;
// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object,&lt;br /&gt;
&lt;br /&gt;
// from a full name.&lt;br /&gt;
&lt;br /&gt;
, set name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
this.first_name = names['0'] || ''&lt;br /&gt;
&lt;br /&gt;
this.last_name  = names['1'] || '' }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Невалідний імена властивостей можуть бути укладені в лапки. Враховуйте, що запис для getter / setter в літеральном вигляді визначається анонімними функціями. Якщо ви хочете пов'язати раніше оголошену функцію з getter / setter, то ви повинні використовувати метод Object.defineProperty.&lt;br /&gt;
&lt;br /&gt;
Подивимося на загальне правила літерального синтаксису:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;object-literal&amp;gt;  ::= &amp;quot;{&amp;quot; &amp;lt;property-list&amp;gt; &amp;quot;}&amp;quot;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property-list&amp;gt;   ::= &amp;lt;property&amp;gt; [&amp;quot;,&amp;quot; &amp;lt;property&amp;gt;]*&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;property&amp;gt;        ::= &amp;lt;data-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;getter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;setter-property&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;data-property&amp;gt;   ::= &amp;lt;property-name&amp;gt; &amp;quot;:&amp;quot; &amp;lt;expression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;getter-property&amp;gt; ::= &amp;quot;get&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;setter-property&amp;gt; ::= &amp;quot;set&amp;quot; &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-parameters&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:       &amp;lt;function-block&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&lt;br /&gt;
&amp;lt;property-name&amp;gt;   ::= &amp;lt;identifier&amp;gt;&lt;br /&gt;
&lt;br /&gt;
| &amp;lt;quoted-identifier&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T09:32:10Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'first_name', { value:    'Mikhail'&lt;br /&gt;
&lt;br /&gt;
, writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { value:    'Weiß'&lt;br /&gt;
&lt;br /&gt;
, writable: true })'''&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
'''// () → String&lt;br /&gt;
&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
&lt;br /&gt;
return this.first_name + ' ' + this.last_name&lt;br /&gt;
}'''&lt;br /&gt;
&lt;br /&gt;
'''// (new_name:String) → undefined&lt;br /&gt;
&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
&lt;br /&gt;
function set_full_name(new_name) { var names&lt;br /&gt;
&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
&lt;br /&gt;
this.first_name = names[⁣'0'] || ''&lt;br /&gt;
&lt;br /&gt;
this.last_name  = names['1'] || '''''&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'name', &lt;br /&gt;
&lt;br /&gt;
{ get: get_full_name&lt;br /&gt;
&lt;br /&gt;
, set: set_full_name&lt;br /&gt;
&lt;br /&gt;
, configurable: true&lt;br /&gt;
&lt;br /&gt;
, enumerable:   true })'''&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name = 'White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Mikhail White''''&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
&lt;br /&gt;
// =&amp;gt; 'White''''&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T09:28:35Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'first_name', { value:    'Mikhail'&lt;br /&gt;
, writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { value:    'Weiß'&lt;br /&gt;
, writable: true })'''&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
'''// () → String&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
return this.first_name + ' ' + this.last_name&lt;br /&gt;
}'''&lt;br /&gt;
&lt;br /&gt;
'''// (new_name:String) → undefined&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
function set_full_name(new_name) { var names&lt;br /&gt;
names = new_name.trim().split(/\s+/)&lt;br /&gt;
this.first_name = names[⁣'0'] || ''&lt;br /&gt;
this.last_name  = names['1'] || '''''&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
'''Object.defineProperty(mikhail, 'name', &lt;br /&gt;
{ get: get_full_name&lt;br /&gt;
, set: set_full_name&lt;br /&gt;
, configurable: true&lt;br /&gt;
, enumerable:   true })'''&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name = 'White'&lt;br /&gt;
mikhail.name&lt;br /&gt;
// =&amp;gt; 'Mikhail White''''&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
'''mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
// =&amp;gt; 'White''''&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript</id>
		<title>ООП в JavaScript</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9E%D0%9E%D0%9F_%D0%B2_JavaScript"/>
				<updated>2013-05-04T09:26:22Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Теоретичний опис принципів ООП в JavaScript може заняти дуже багато часу, і викликати багато суперечок навколо питання чи взагалі існують класи в JavaScript. Я не буду на цьому зупинятися, а відразу дам відповідь: &amp;lt;b&amp;gt;Класів в JavaScript НЕМАЄ&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Загальний Опис ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;JavaScript&amp;lt;/b&amp;gt; -- це мова програмування, яка базується на &amp;lt;b&amp;gt;об`єктах&amp;lt;/b&amp;gt;. Всі об'єкти поділяються на 3 групи:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;вбудовані об'єкти виконуючої системи&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;об'єкти середовища, в якому виконується сценарій&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;користувацькі об'єкти&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;об'єкт JavaScript&amp;lt;/b&amp;gt; -- це неупорядкований набір властивостей.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Метод&amp;lt;/b&amp;gt; -- це властивість, що є функцією. Приклад синтаксису доступу до властивості об'єкту:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта.імя_властивості&amp;lt;/font&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;p style=&amp;quot;padding-left:15px; margin: 0;&amp;quot;&amp;gt;або&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;імя_об'єкта[&amp;quot;імя_властивості&amp;quot;]&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Останній синтаксис використовується оператором &amp;lt;b&amp;gt;for ... in&amp;lt;/b&amp;gt;. Кожне властивість складається з назви, значення і набору наступних атрибутів:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Атрибут&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис Атрибуту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontEnum&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Чи повинна властивість попадати в перелічення при обході оператором for..in&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
DontDelete&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона видалення даної властивості. Спроба програмно видалити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
ReadOnly&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Заборона зміни цієї властивості. Спроба програмно змінити дану властивість буде проигноровано.&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
Нова властивість об'єкту створюється просто присвоюванням йому значення. Нехай, наприклад, ми вже створили об'єкт &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt;. Задамо йому ім'я, та, наприклад, якесь значення:&lt;br /&gt;
 &amp;lt;code&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;MyObj.name = &amp;quot;Мій Об'єкт&amp;quot;; &amp;lt;br&amp;gt;&lt;br /&gt;
 MyObj.value = 256;&amp;lt;/font&amp;gt;&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Тепер наш об'єкт має 2 властивості: &amp;lt;b&amp;gt;name&amp;lt;/b&amp;gt; та &amp;lt;b&amp;gt;value&amp;lt;/b&amp;gt;. У таких властивостей, створених користувачем, всі перераховані вище атрибути скинуті в &amp;lt;b&amp;gt;false&amp;lt;/b&amp;gt;. Надалі ми можемо змінювати значення цих властивостей або переглядати.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення об'єкта ==&lt;br /&gt;
У мовах, заснованих на класах, клас об'єктів описується оголошенням класу. У цьому оголошенні ми можемо вказати спеціальні методи - &amp;lt;b&amp;gt;конструктори&amp;lt;/b&amp;gt;, які створюють екземпляри даного класу. Конструктор виділяє пам'ять для примірника, ініціалізує значення його властивостей і виконує інші необхідні дії. Після оголошення класу ми можемо створювати його екземпляри шляхом виклику операції new імя_конструктора (...).&lt;br /&gt;
&lt;br /&gt;
Створення об'єктів у JavaScript відбувається приблизно так само, але тут оголошення конструктора збігається з оголошенням класу. Іншими словами, ми визначаємо конструктор як функцію, яка створює об'єкти з заданим початковим набором властивостей і їх значень. Потім ми так само створюємо об'єкти викликом операції new імя_конструктора (...). Або оголошуемо змінну якій без явного визначення функції присвоюємо ряд властивостей, реально створюється анонімна функція, яка створює об'єкт.&lt;br /&gt;
&lt;br /&gt;
Існує два способи створення нових об'єктів у JavaScript, а саме:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання ініціалізатора об'єкта.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Використання конструктора об'єктів.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Створення об'єктів за допомогою ініціалізатора ===&lt;br /&gt;
&lt;br /&gt;
Цей спосіб дозволяє одночасно створити об'єкт і привласнити значення всіх або частини його властивостей. Він застосовується в тих випадках, коли ми створюємо об'єкт з унікальним набором властивостей. Ініціалізатор об'єкта має вигляд:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;(Властивість: значення [, властивість: значення])&amp;lt;/font&amp;gt;&lt;br /&gt;
Властивість - ідентифікатор, що задає ім'я властивості; значення - вираз, що задає значення цієї властивості.&lt;br /&gt;
&lt;br /&gt;
Наприклад, об'єкт MyObj з попереднього прикладу може бути створений так:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;};&amp;lt;/font&amp;gt;&lt;br /&gt;
Можливо конструювати об'єкт в об'єкті. Додамо ще одну властивість об'єкта MyObj, яка називається options і сама є об'єктом:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var MyObj = {name: &amp;quot;Dead&amp;quot;, value: &amp;quot;256&amp;quot;,&lt;br /&gt;
  options: {enabled: true, vud: false}};&amp;lt;/font&amp;gt;&lt;br /&gt;
=== Створення об'єктів за допомогою конструктора ===&lt;br /&gt;
Цей спосіб застосовується в тих випадках, коли ми хочемо створити &amp;quot;клас&amp;quot;(реально функцію конструктор) об'єктів з певним набором властивостей, а потім створювати нові об'єкти, просто вказуючи, до якого класу вони повинні належати. Для цього потрібно спочатку створити конструктор об'єктів, який є функцією спеціального виду, а саме:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Ім'я функції задає ім'я створюваного &amp;quot;класу&amp;quot; об'єктів;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Тіло функції повинно містити присвоювання початкових значень властивостям і методам створюваного об'єкту.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
Наприклад, конструктор для об'єкта MyObj з попереднього прикладу може мати наступний вигляд:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
Зверніть увагу на використання операції &amp;lt;b&amp;gt;this&amp;lt;/b&amp;gt; для доступу до властивостей об'єкта. Його особливості будуть розглянуті далі.&lt;br /&gt;
&lt;br /&gt;
Тепер для створення нових об'єктів &amp;lt;b&amp;gt;MyObj&amp;lt;/b&amp;gt; достатньо викликати цей конструктор в операції &amp;lt;b&amp;gt;new&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Продемонструємо на прикладі об'єкт, який буде складатися з іншого об'єкту та ініціалізовуватиметься за допомогою конструктору:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function myOpt(enbl, vud) &lt;br /&gt;
 {&lt;br /&gt;
  this.enabled = enbl; &lt;br /&gt;
  this.vud = vud;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, value, options) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.value = value;&lt;br /&gt;
  this.options = options;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;var myOpt = new myOpt(true, false);&lt;br /&gt;
 var myObjL = new MyObj(&amp;quot;Indigo&amp;quot;, 132, myOpt);&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для доступу до властивостей властивості options використовується нотація &amp;lt;b&amp;gt;myObjL.options.enabled&amp;lt;/b&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Ключове слово this ====&lt;br /&gt;
Ключове слово &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; в JavaScript працює своєрідно, не так, як в інших мовах, він не прив'язується статично ні до якого об'єкту, а залежить від контексту виклику.&amp;lt;br&amp;gt;&lt;br /&gt;
Існує 4 випадки значення операції:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Режим конструктора&amp;lt;/b&amp;gt;, якщо функція визивається через new як конструктор об'єкту, то &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; ставиться на стрворюваний об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Метод об'єкту&amp;lt;/b&amp;gt;, якщо функція запущена як властивість об'єкту, то в &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде посилання на цей об'єкт;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Apply/Call&amp;lt;/b&amp;gt;, якщо функція визивається через методи Apply та Call, при такому визові функції &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; буде встановлено в об'єкт, що визивається;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;Простий виклик&amp;lt;/b&amp;gt;, при цьому виклику &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;this&amp;lt;/font&amp;gt; стає ріним глобальному об'єкту (в браузері це &amp;lt;b&amp;gt;window&amp;lt;/b&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення методів ==&lt;br /&gt;
Оскільки методи є різновидом властивостей, вони створюються так само, як описано вище. Наприклад, ми можемо додати до конструктора об'єктів MyObj метод aboutObj, який буде виводити на екран браузера інформацію про властивості цього об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function showObj() &lt;br /&gt;
 {&lt;br /&gt;
  document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) &lt;br /&gt;
 {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = showObj;&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В подальшому ми можемо викликати цей метод:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.showObj();&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При бажанні можна записати короче:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;function MyObj(name, version) {&lt;br /&gt;
  this.name = name;&lt;br /&gt;
  this.version = version;&lt;br /&gt;
  this.aboutObj = function() &lt;br /&gt;
  {&lt;br /&gt;
    document.write(&amp;quot;Об'єкт: &amp;quot; + this.name + &amp;quot; &amp;quot; + this.version);&lt;br /&gt;
  }&lt;br /&gt;
 }&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Прототипи об'єктів ==&lt;br /&gt;
Більшість об'єктно-орієнтованих мов (наприклад, Java і C + +) засновані на двох базових поняттях: класи об'єктів і екземпляри (instances) об'єктів.&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Клас об'єктів - це абстрактне поняття, що описує всі властивості даного класу (в Java ці властивості називаються полями й методами, а в C + + членами класу, але суть від цього не змінюється).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Екземпляр об'єкту - це реалізація класу, тобто конкретний об'єкт, наділений всіма властивостями даного класу.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
JavaScript, на відміну від цих мов, заснований на прототипах і не проводить відмінності між двома наведеними поняттями: у ньому є тільки об'єкти. Деяким аналогом класу тут виступає прототип об'єкта, який визначає початковий набір властивостей нового об'єкта. У процесі виконання програми об'єкт може отримувати нові властивості; більше того, він може сам виступати як прототип при створенні нових об'єктів.&lt;br /&gt;
&lt;br /&gt;
Припустимо, що ми хочемо в процесі виконання сценарію додати нову властивість security (безпека) класу об'єктів Options (підкреслимо ще раз - класу об'єктів, а не окремому його представнику myOptions). Для цього використовується властивість prototype об'єкта Function:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;Options.prototype.security = null;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер ми можемо присвоїти значення новому властивості об'єкта:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;myObjL.options.security = &amp;quot;Велика&amp;quot;;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для видалення властивостей об'єктів використовується операція &amp;lt;b&amp;gt;delete&amp;lt;/b&amp;gt;, наприклад:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete Options.prototype.security;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Видалення об'єктів ==&lt;br /&gt;
Можна видалити раніше створений об'єк:&lt;br /&gt;
 &amp;lt;font color=&amp;quot;#008000&amp;quot;&amp;gt;delete myObjL;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Наслідування ==&lt;br /&gt;
У мовах, заснованих на класах, класи об'єктів утворюють ієрархію класів, в якій кожен клас може бути нащадком раніше визначеного класу. Нащадок класу має всі його властивості, але може мати додаткові властивості або змінювати властивості свого предка. При цьому набір властивостей даного класу зафіксований в його оголошенні і не може бути змінений в ході виконання програми. Можна сказати, що тут поточний стан реалізується екземплярами класів, методи реалізуються класами, а наслідування - структурою і поведінкою.&lt;br /&gt;
&lt;br /&gt;
JavaScript підтримує наслідування, засноване на прототипах. З кожним конструктором пов'язаний відповідний прототип об'єкта, і кожен об'єкт, створений конструктором, містить неявно посилання на цей прототип. Прототип, у свою чергу, може містити посилання на свій прототип і так далі. Так утворюється ланцюжок прототипів. Посилання на властивість об'єкта - це посилання на перший прототип в ланцюжку прототипів об'єкта, який містить властивість з такою назвою. Іншими словами, якщо даний об'єкт має властивість з такою назвою, то використовується посилання на це властивість; якщо ні, то досліджується прототип цього об'єкта і т. д.&lt;br /&gt;
&lt;br /&gt;
У JavaScript поточний стан та методи реалізуються об'єктами, а структура і поведінка успадковуються. Всі об'єкти, що явно містять властивість, яка містить їх прототип, поділяють цю властивість і його значення. На відміну від мов, заснованих на класах, властивості можуть динамічно додаватися до об'єктів і динамічно видалятися. Зокрема, конструктори не зобов'язані присвоювати значення всіх чи деяких властивостям створюваного об'єкту.&lt;br /&gt;
&lt;br /&gt;
== Примітивні вбудовані об'єкти ==&lt;br /&gt;
&lt;br /&gt;
JavaScript містить &amp;lt;b&amp;gt;глобальний об'єкт&amp;lt;/b&amp;gt;, який є його середовищем виконання, а також наступні вбудовані об'єкти.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 2px double black; width: 100%; margin: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td width=&amp;quot;25%&amp;quot; style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Об'єкт&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Опис об'єкту&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Array&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Масиви&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Math&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Математичні функції та константи&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Boolean&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Логічні об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td style=&amp;quot;font-style: oblique;&amp;quot;&amp;gt;&lt;br /&gt;
Number&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Числові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Date&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Дата та час&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Object&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Прототип інших об'єктів&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Error&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Виключення&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
RegExp&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Регулярні вирази&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Function&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Функції&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
Рядкові об'єкти&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getter-и і setter-и ==&lt;br /&gt;
&lt;br /&gt;
Getter-и і setter-и зазвичай використовуються в класичних об'єктно-орієнтованих мовах для забезпечення інкапсуляції.&lt;br /&gt;
Вони дозволяє забезпечити proxy для запитів на читання і запис властивостей. &lt;br /&gt;
Наприклад, у нас були окремі слоти для імені та прізвища, але ми хочемо мати зручний спосіб читати і встановлювати їх.&lt;br /&gt;
Створимо ім'я та прізвище нашого друга, вписавши відповідні характеристики:&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'first_name', { value:    'Mikhail'&lt;br /&gt;
                                             , writable: true })&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'last_name', { value:    'Weiß'&lt;br /&gt;
                                            , writable: true })&lt;br /&gt;
&lt;br /&gt;
Потім ми опишемо загальний спосіб отримання і установки відразу двох властивостей за один раз - назвемо їх об'єднання name:&lt;br /&gt;
&lt;br /&gt;
// () → String&lt;br /&gt;
// Returns the full name of object.&lt;br /&gt;
function get_full_name() {&lt;br /&gt;
    return this.first_name + ' ' + this.last_name&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// (new_name:String) → undefined&lt;br /&gt;
// Sets the name components of the object, from a full name.&lt;br /&gt;
function set_full_name(new_name) { var names&lt;br /&gt;
    names = new_name.trim().split(/\s+/)&lt;br /&gt;
    this.first_name = names[⁣'0'] || ''&lt;br /&gt;
    this.last_name  = names['1'] || ''&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Object.defineProperty(mikhail, 'name', { get: get_full_name&lt;br /&gt;
                                       , set: set_full_name&lt;br /&gt;
                                       , configurable: true&lt;br /&gt;
                                       , enumerable:   true })&lt;br /&gt;
&lt;br /&gt;
Тепер, кожен раз коли ми спробуємо дізнатися значення властивості name нашого друга насправді викликається функція get_full_name:&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
// =&amp;gt; 'Mikhail Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
// =&amp;gt; 'Mikhail'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
// =&amp;gt; 'Weiß'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name = 'White'&lt;br /&gt;
mikhail.name&lt;br /&gt;
// =&amp;gt; 'Mikhail White'&lt;br /&gt;
&lt;br /&gt;
Також можемо встановити name об'єкта, звернувшись до відповідного властивості, але насправді виклик set_full_name виконає всю брудну роботу:&lt;br /&gt;
&lt;br /&gt;
mikhail.name = 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.name&lt;br /&gt;
// =&amp;gt; 'Michael White'&lt;br /&gt;
&lt;br /&gt;
mikhail.first_name&lt;br /&gt;
// =&amp;gt; 'Michael'&lt;br /&gt;
&lt;br /&gt;
mikhail.last_name&lt;br /&gt;
// =&amp;gt; 'White'&lt;br /&gt;
&lt;br /&gt;
Крім того, слід враховувати що getter-и і setter-и зазвичай використовуються в інших мовах для інкапсуляції.&lt;br /&gt;
[[category:Інтернет-програмування|*]]&lt;br /&gt;
&lt;br /&gt;
[[category:Навчальні проекти]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%94%D0%BE%D0%B2%D1%96%D0%B4%D0%BA%D0%B0_%D1%82%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F</id>
		<title>Довідка та документація</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%94%D0%BE%D0%B2%D1%96%D0%B4%D0%BA%D0%B0_%D1%82%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F"/>
				<updated>2012-12-07T14:56:51Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Висновок */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Принцип о необходимости предоставления справочной системы и документации к программе, идущий в списке Якоба Нильсена последним, не становится от этого менее важным.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Безымянный123123321.png]] [[Файл:145141.png]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 [[Файл:Безымянный32145.png]] [[Файл:Безымянный4512241.png]]&lt;br /&gt;
&lt;br /&gt;
== Висновок ==&lt;br /&gt;
&lt;br /&gt;
Підвотячи підсумок з цієї теми можна сказати, що документація (справка) по користуванні сайтом (чи в програмному продукті)завжди повинна бути, але якщо користувач всеж таки звенувся до довідки (а це є недоліком сайту), то вона повинна виглядіти належним чином. А саме, представлення довіки на прикладах, по кроково, організований пошук в довідковій системі, як умога простіший виклад виклад інформації та найбільш поширені питання по використанню тієї чи іншої функції.&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%94%D0%BE%D0%B2%D1%96%D0%B4%D0%BA%D0%B0_%D1%82%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F</id>
		<title>Довідка та документація</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%94%D0%BE%D0%B2%D1%96%D0%B4%D0%BA%D0%B0_%D1%82%D0%B0_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D1%96%D1%8F"/>
				<updated>2012-12-07T14:53:25Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Принцип о необходимости предоставления справочной системы и документации к программе, идущий в списке Якоба Нильсена последним, не становится от этого менее важным.&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Безымянный123123321.png]] [[Файл:145141.png]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 [[Файл:Безымянный32145.png]] [[Файл:Безымянный4512241.png]]&lt;br /&gt;
&lt;br /&gt;
== Висновок ==&lt;br /&gt;
&lt;br /&gt;
Підвотячи підсумок з цієї теми можна сказати, що документація (справка) по користуванні сайтом (чи в програмному продукті) повинна завжди бути, але якщо користувач звенувся до довідки (а це євсже недолік сайту), то вона повинна виглядіти належним чином. А саме, представлення довіки на прикладах, по кроково, пошук по ній, як умога простіший виклад виклад інформації та найбільш поширені питання.&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%93%D0%B0%D0%BC%D0%B0%D0%BD%D0%B5%D1%86%D1%8C_%D0%9C%D1%96%D0%BB%D0%BB%D0%B5%D1%80%D0%B0</id>
		<title>Гаманець Міллера</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%93%D0%B0%D0%BC%D0%B0%D0%BD%D0%B5%D1%86%D1%8C_%D0%9C%D1%96%D0%BB%D0%BB%D0%B5%D1%80%D0%B0"/>
				<updated>2012-12-07T14:39:09Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Висновок */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Цей спосіб названій на честь Г.А. Міллера, який досліджував короткотривалу пам'ять, перевіряючи висновки, зроблені до нього його колегою Г. Еббінгаузом.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Еббінгауз намагався вияснити, скільки інформації може запам'ятати людина без всяких спеціальних прийомів. Виявилося що об’єм пам’яті обмежений семи цифрами, семи буквами або назвами семи предметів.&amp;lt;br&amp;gt;&lt;br /&gt;
Напиклад, якщо необхідно протягом короткого часу зберегти інформацію, що включає більше семи елементів, мозок майже несвідомо групує цю інформацію таким чином, щоб число запам'ятовуючих елементів не перевищувало гранично допустимого. Наприклад, номер банківського рахунку 30 637 402 710, що складається з одинадцяти елементів, буде, швидше за все, запам'ятовуватися як 30 63 740 27 10, тобто як п'ять числових елементів, або вісім слів (тридцять, шістдесят, три, сім сотень, сорок , двадцять, сім, десять).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Це '''&amp;quot;магічне число&amp;quot;''' сім, яке слугує в свою чергу своєрідною міркою пам’яті, і було перевірено '''Міллером''', який показав, що пам’ять дійсно в середньому не може зберігати більше семи елементів; в залежності від складності елементів це число може коливатися в межах від п’яти до дев’яти.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Використовуючи '''принцип гаманця Міллера''' в дизайні інтерфейсів, слід '''групувати елементи GUI''' (кнопки на панелях інструментів, пункти меню, закладки, опції на цих закладках і т.д.) з врахування цього правила - не більше семи в групі, в крайньому випадку - дев’яти. Дійсно, довгий ряд кнопок на панелі інструментів зазвичай сприймається набагато гірше, ніж ті ж самі кнопки, зібрані за функціональною ознакою в групи та розмежовані роздільником. Багато дослідників радять знижувати максимально допустиму кількість елементів у групі до п'яти, з огляду на перевантаженість сучасних GUI інформацією.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;'''Групування''' передбачає розміщення елементів, що мають між собою функціональний взаємозв'язок, в одній компактній групі. Традиційно для групування використовуються спеціальні блоки групування, що виділяються на екрані рельєфними лініями. Проте останнім часом в деяких дослідженнях зазначається, що більш оптимальним є використання пропусків вільного місця і заголовків, виділених шрифтом (особливо це стосується діалогів, перевантажених різними елементами, тому що додаткові рельєфні лінії в ряді випадків ускладнюють загальну візуальну картину).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Подивіться, наприклад, на головне вікно програми '''Total Comannder &amp;quot;Podarok Edition&amp;quot;''': 42 кнопоки на верхній панелі, між якими нема ні одного роз’єднувача, сприймається набагато гірше чим тоді коли б вони були розбиті на групи.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:TotalPodarok.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отже, принцип гаманця Міллера каже про сім плюс-мінус два елемента. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Але якщо поглянути на програми, інтерфейс яких вдосконалюється роками (той же '''Microsoft Word'''), то можна помітити, що число об’єктів (пунктів меню, кнопок на панелях інструментів) в групах доходить до шести-семи дуже рідко, а в основному елементи згруповані по три-чотири об’єкта.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Microsoft Word 2003''' має дуже довгі випадаючі меню, а також багато кнопок не розділених на групи, що може легко заплутаты недосвідченого користувача.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Word_2003.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Але якщо ми поглянемо на новішу версію '''Microsoft Word 2007''', то ми бачимо що елементи розбиті на групи, що дозволяє легше орієнтуватися в роботі.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Word_2007.JPG]]&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Такі невеликі групи об’єктів найбільш добре сприймаються поглядом користувача, вже трохи втомленого складними інтерфейсами сучасних програм. Я думаю, '''при проектуванні інтерфейсів програм, верхню межу гаманця Міллера - сім-дев'ять елементів - потрібно використовувати дуже обережно, намагаючись обмежуватися групами, що мають максимум п’ять об’єктів'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Приклад ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:52aeef62a6ef8f1bfb6820a18b0a5bd8.png]]&lt;br /&gt;
&lt;br /&gt;
Рис. 1 Спроектований макет титульної веб-сторінки.&lt;br /&gt;
&lt;br /&gt;
В ході проектування основні елементи управління були виконані у вигляді образів (рис. 1), які служать для ідентифікації цих елементів (тематичні розділи).&lt;br /&gt;
Активізація цих елементів призводить до переходу у відповідний розділ.&lt;br /&gt;
&lt;br /&gt;
[[Файл:01f7b0e649000ec56d9b58bd51ff2e50.png]]&lt;br /&gt;
&lt;br /&gt;
Рис. 2 Вид прихованої панелі з додатковою інформацією.&lt;br /&gt;
Елементи керування, які не входять до складу основної інформації, але є невід'ємною частиною веб-інтерфейсу (розділи: «профіль», «реєстрація», «вхід», «зворотний зв'язок»), було вирішено винести в окремий блок (рис. 2). Доступ до такого блока здійснюється користувачем при натисненні на особливу кнопку («вхід / реєстрація» в заритому вигляді, «закрити панель» у відкритому). У згорнутому варіанті, даний блок не відволікає користувача від роботи з веб-інтерфейсом.&lt;br /&gt;
Також були створені допоміжні елементи інтерфейсу, такі як «спливаючі підказки» (з'являються при підведенні курсору до цікавого об'єкту), службовці додатковим засобом навчання інтерфейсу.&lt;br /&gt;
&lt;br /&gt;
[[Файл:F98b4ef9642e9be54bc66c34b18a8fff.png]]&lt;br /&gt;
&lt;br /&gt;
Рис.3 Приклад роботи «спливаючої підказки».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Висновок ==&lt;br /&gt;
&lt;br /&gt;
Підводячи підсумок з цієї теми можна сказати, що при проектуванні інтерфейсу число елементів (об'єктів) на ньому не повинно перевищувати семи, так як мозок людини не може сприйняти більше (виключенням є до 9 елементів, дивлячись від їх складності). Все буде залежити від того, яким чином ви будите групувати, а також як будуть виглядати ці об'єкти.&lt;br /&gt;
  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[category:РІС]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%93%D0%B0%D0%BC%D0%B0%D0%BD%D0%B5%D1%86%D1%8C_%D0%9C%D1%96%D0%BB%D0%BB%D0%B5%D1%80%D0%B0</id>
		<title>Гаманець Міллера</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%93%D0%B0%D0%BC%D0%B0%D0%BD%D0%B5%D1%86%D1%8C_%D0%9C%D1%96%D0%BB%D0%BB%D0%B5%D1%80%D0%B0"/>
				<updated>2012-12-07T14:36:42Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Висновок */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Цей спосіб названій на честь Г.А. Міллера, який досліджував короткотривалу пам'ять, перевіряючи висновки, зроблені до нього його колегою Г. Еббінгаузом.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Еббінгауз намагався вияснити, скільки інформації може запам'ятати людина без всяких спеціальних прийомів. Виявилося що об’єм пам’яті обмежений семи цифрами, семи буквами або назвами семи предметів.&amp;lt;br&amp;gt;&lt;br /&gt;
Напиклад, якщо необхідно протягом короткого часу зберегти інформацію, що включає більше семи елементів, мозок майже несвідомо групує цю інформацію таким чином, щоб число запам'ятовуючих елементів не перевищувало гранично допустимого. Наприклад, номер банківського рахунку 30 637 402 710, що складається з одинадцяти елементів, буде, швидше за все, запам'ятовуватися як 30 63 740 27 10, тобто як п'ять числових елементів, або вісім слів (тридцять, шістдесят, три, сім сотень, сорок , двадцять, сім, десять).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Це '''&amp;quot;магічне число&amp;quot;''' сім, яке слугує в свою чергу своєрідною міркою пам’яті, і було перевірено '''Міллером''', який показав, що пам’ять дійсно в середньому не може зберігати більше семи елементів; в залежності від складності елементів це число може коливатися в межах від п’яти до дев’яти.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Використовуючи '''принцип гаманця Міллера''' в дизайні інтерфейсів, слід '''групувати елементи GUI''' (кнопки на панелях інструментів, пункти меню, закладки, опції на цих закладках і т.д.) з врахування цього правила - не більше семи в групі, в крайньому випадку - дев’яти. Дійсно, довгий ряд кнопок на панелі інструментів зазвичай сприймається набагато гірше, ніж ті ж самі кнопки, зібрані за функціональною ознакою в групи та розмежовані роздільником. Багато дослідників радять знижувати максимально допустиму кількість елементів у групі до п'яти, з огляду на перевантаженість сучасних GUI інформацією.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;'''Групування''' передбачає розміщення елементів, що мають між собою функціональний взаємозв'язок, в одній компактній групі. Традиційно для групування використовуються спеціальні блоки групування, що виділяються на екрані рельєфними лініями. Проте останнім часом в деяких дослідженнях зазначається, що більш оптимальним є використання пропусків вільного місця і заголовків, виділених шрифтом (особливо це стосується діалогів, перевантажених різними елементами, тому що додаткові рельєфні лінії в ряді випадків ускладнюють загальну візуальну картину).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Подивіться, наприклад, на головне вікно програми '''Total Comannder &amp;quot;Podarok Edition&amp;quot;''': 42 кнопоки на верхній панелі, між якими нема ні одного роз’єднувача, сприймається набагато гірше чим тоді коли б вони були розбиті на групи.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:TotalPodarok.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отже, принцип гаманця Міллера каже про сім плюс-мінус два елемента. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Але якщо поглянути на програми, інтерфейс яких вдосконалюється роками (той же '''Microsoft Word'''), то можна помітити, що число об’єктів (пунктів меню, кнопок на панелях інструментів) в групах доходить до шести-семи дуже рідко, а в основному елементи згруповані по три-чотири об’єкта.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Microsoft Word 2003''' має дуже довгі випадаючі меню, а також багато кнопок не розділених на групи, що може легко заплутаты недосвідченого користувача.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Word_2003.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Але якщо ми поглянемо на новішу версію '''Microsoft Word 2007''', то ми бачимо що елементи розбиті на групи, що дозволяє легше орієнтуватися в роботі.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Word_2007.JPG]]&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Такі невеликі групи об’єктів найбільш добре сприймаються поглядом користувача, вже трохи втомленого складними інтерфейсами сучасних програм. Я думаю, '''при проектуванні інтерфейсів програм, верхню межу гаманця Міллера - сім-дев'ять елементів - потрібно використовувати дуже обережно, намагаючись обмежуватися групами, що мають максимум п’ять об’єктів'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Приклад ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:52aeef62a6ef8f1bfb6820a18b0a5bd8.png]]&lt;br /&gt;
&lt;br /&gt;
Рис. 1 Спроектований макет титульної веб-сторінки.&lt;br /&gt;
&lt;br /&gt;
В ході проектування основні елементи управління були виконані у вигляді образів (рис. 1), які служать для ідентифікації цих елементів (тематичні розділи).&lt;br /&gt;
Активізація цих елементів призводить до переходу у відповідний розділ.&lt;br /&gt;
&lt;br /&gt;
[[Файл:01f7b0e649000ec56d9b58bd51ff2e50.png]]&lt;br /&gt;
&lt;br /&gt;
Рис. 2 Вид прихованої панелі з додатковою інформацією.&lt;br /&gt;
Елементи керування, які не входять до складу основної інформації, але є невід'ємною частиною веб-інтерфейсу (розділи: «профіль», «реєстрація», «вхід», «зворотний зв'язок»), було вирішено винести в окремий блок (рис. 2). Доступ до такого блока здійснюється користувачем при натисненні на особливу кнопку («вхід / реєстрація» в заритому вигляді, «закрити панель» у відкритому). У згорнутому варіанті, даний блок не відволікає користувача від роботи з веб-інтерфейсом.&lt;br /&gt;
Також були створені допоміжні елементи інтерфейсу, такі як «спливаючі підказки» (з'являються при підведенні курсору до цікавого об'єкту), службовці додатковим засобом навчання інтерфейсу.&lt;br /&gt;
&lt;br /&gt;
[[Файл:F98b4ef9642e9be54bc66c34b18a8fff.png]]&lt;br /&gt;
&lt;br /&gt;
Рис.3 Приклад роботи «спливаючої підказки».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Висновок ==&lt;br /&gt;
&lt;br /&gt;
Підводячи підсумок з цієї теми можна сказати, що при проектуванні інтерфейсу число елементів (об'єктів) на ньому не повинно перевищувати семи, так як мозок людини не може сприйняти більше (виключенням є до 9 елементів, дивлячись від їх складності). Все буде залежити від того, яким чином ви будите групувати та як будуть виглядати ці об'єкти.&lt;br /&gt;
  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[category:РІС]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%93%D0%B0%D0%BC%D0%B0%D0%BD%D0%B5%D1%86%D1%8C_%D0%9C%D1%96%D0%BB%D0%BB%D0%B5%D1%80%D0%B0</id>
		<title>Гаманець Міллера</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%93%D0%B0%D0%BC%D0%B0%D0%BD%D0%B5%D1%86%D1%8C_%D0%9C%D1%96%D0%BB%D0%BB%D0%B5%D1%80%D0%B0"/>
				<updated>2012-12-07T14:34:26Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Висновок */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Цей спосіб названій на честь Г.А. Міллера, який досліджував короткотривалу пам'ять, перевіряючи висновки, зроблені до нього його колегою Г. Еббінгаузом.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Еббінгауз намагався вияснити, скільки інформації може запам'ятати людина без всяких спеціальних прийомів. Виявилося що об’єм пам’яті обмежений семи цифрами, семи буквами або назвами семи предметів.&amp;lt;br&amp;gt;&lt;br /&gt;
Напиклад, якщо необхідно протягом короткого часу зберегти інформацію, що включає більше семи елементів, мозок майже несвідомо групує цю інформацію таким чином, щоб число запам'ятовуючих елементів не перевищувало гранично допустимого. Наприклад, номер банківського рахунку 30 637 402 710, що складається з одинадцяти елементів, буде, швидше за все, запам'ятовуватися як 30 63 740 27 10, тобто як п'ять числових елементів, або вісім слів (тридцять, шістдесят, три, сім сотень, сорок , двадцять, сім, десять).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Це '''&amp;quot;магічне число&amp;quot;''' сім, яке слугує в свою чергу своєрідною міркою пам’яті, і було перевірено '''Міллером''', який показав, що пам’ять дійсно в середньому не може зберігати більше семи елементів; в залежності від складності елементів це число може коливатися в межах від п’яти до дев’яти.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Використовуючи '''принцип гаманця Міллера''' в дизайні інтерфейсів, слід '''групувати елементи GUI''' (кнопки на панелях інструментів, пункти меню, закладки, опції на цих закладках і т.д.) з врахування цього правила - не більше семи в групі, в крайньому випадку - дев’яти. Дійсно, довгий ряд кнопок на панелі інструментів зазвичай сприймається набагато гірше, ніж ті ж самі кнопки, зібрані за функціональною ознакою в групи та розмежовані роздільником. Багато дослідників радять знижувати максимально допустиму кількість елементів у групі до п'яти, з огляду на перевантаженість сучасних GUI інформацією.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;'''Групування''' передбачає розміщення елементів, що мають між собою функціональний взаємозв'язок, в одній компактній групі. Традиційно для групування використовуються спеціальні блоки групування, що виділяються на екрані рельєфними лініями. Проте останнім часом в деяких дослідженнях зазначається, що більш оптимальним є використання пропусків вільного місця і заголовків, виділених шрифтом (особливо це стосується діалогів, перевантажених різними елементами, тому що додаткові рельєфні лінії в ряді випадків ускладнюють загальну візуальну картину).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Подивіться, наприклад, на головне вікно програми '''Total Comannder &amp;quot;Podarok Edition&amp;quot;''': 42 кнопоки на верхній панелі, між якими нема ні одного роз’єднувача, сприймається набагато гірше чим тоді коли б вони були розбиті на групи.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:TotalPodarok.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отже, принцип гаманця Міллера каже про сім плюс-мінус два елемента. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Але якщо поглянути на програми, інтерфейс яких вдосконалюється роками (той же '''Microsoft Word'''), то можна помітити, що число об’єктів (пунктів меню, кнопок на панелях інструментів) в групах доходить до шести-семи дуже рідко, а в основному елементи згруповані по три-чотири об’єкта.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Microsoft Word 2003''' має дуже довгі випадаючі меню, а також багато кнопок не розділених на групи, що може легко заплутаты недосвідченого користувача.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Word_2003.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Але якщо ми поглянемо на новішу версію '''Microsoft Word 2007''', то ми бачимо що елементи розбиті на групи, що дозволяє легше орієнтуватися в роботі.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Word_2007.JPG]]&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Такі невеликі групи об’єктів найбільш добре сприймаються поглядом користувача, вже трохи втомленого складними інтерфейсами сучасних програм. Я думаю, '''при проектуванні інтерфейсів програм, верхню межу гаманця Міллера - сім-дев'ять елементів - потрібно використовувати дуже обережно, намагаючись обмежуватися групами, що мають максимум п’ять об’єктів'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Приклад ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:52aeef62a6ef8f1bfb6820a18b0a5bd8.png]]&lt;br /&gt;
&lt;br /&gt;
Рис. 1 Спроектований макет титульної веб-сторінки.&lt;br /&gt;
&lt;br /&gt;
В ході проектування основні елементи управління були виконані у вигляді образів (рис. 1), які служать для ідентифікації цих елементів (тематичні розділи).&lt;br /&gt;
Активізація цих елементів призводить до переходу у відповідний розділ.&lt;br /&gt;
&lt;br /&gt;
[[Файл:01f7b0e649000ec56d9b58bd51ff2e50.png]]&lt;br /&gt;
&lt;br /&gt;
Рис. 2 Вид прихованої панелі з додатковою інформацією.&lt;br /&gt;
Елементи керування, які не входять до складу основної інформації, але є невід'ємною частиною веб-інтерфейсу (розділи: «профіль», «реєстрація», «вхід», «зворотний зв'язок»), було вирішено винести в окремий блок (рис. 2). Доступ до такого блока здійснюється користувачем при натисненні на особливу кнопку («вхід / реєстрація» в заритому вигляді, «закрити панель» у відкритому). У згорнутому варіанті, даний блок не відволікає користувача від роботи з веб-інтерфейсом.&lt;br /&gt;
Також були створені допоміжні елементи інтерфейсу, такі як «спливаючі підказки» (з'являються при підведенні курсору до цікавого об'єкту), службовці додатковим засобом навчання інтерфейсу.&lt;br /&gt;
&lt;br /&gt;
[[Файл:F98b4ef9642e9be54bc66c34b18a8fff.png]]&lt;br /&gt;
&lt;br /&gt;
Рис.3 Приклад роботи «спливаючої підказки».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Висновок ==&lt;br /&gt;
&lt;br /&gt;
Підводячи підсумок з цієї теми можна сказати, що при проектуванні інтерфейсу число елементів (об'єктів) на ньому не повинно перевищувати семи, так як мозок людини не може сприйняти більше (виключенням є до 9 елементів, дивлячись від їх складності). Все буде залежити від того, яким чином ви будите групувати ці об'єкти.&lt;br /&gt;
  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[category:РІС]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%93%D0%B0%D0%BC%D0%B0%D0%BD%D0%B5%D1%86%D1%8C_%D0%9C%D1%96%D0%BB%D0%BB%D0%B5%D1%80%D0%B0</id>
		<title>Гаманець Міллера</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%93%D0%B0%D0%BC%D0%B0%D0%BD%D0%B5%D1%86%D1%8C_%D0%9C%D1%96%D0%BB%D0%BB%D0%B5%D1%80%D0%B0"/>
				<updated>2012-12-07T14:33:01Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Цей спосіб названій на честь Г.А. Міллера, який досліджував короткотривалу пам'ять, перевіряючи висновки, зроблені до нього його колегою Г. Еббінгаузом.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Еббінгауз намагався вияснити, скільки інформації може запам'ятати людина без всяких спеціальних прийомів. Виявилося що об’єм пам’яті обмежений семи цифрами, семи буквами або назвами семи предметів.&amp;lt;br&amp;gt;&lt;br /&gt;
Напиклад, якщо необхідно протягом короткого часу зберегти інформацію, що включає більше семи елементів, мозок майже несвідомо групує цю інформацію таким чином, щоб число запам'ятовуючих елементів не перевищувало гранично допустимого. Наприклад, номер банківського рахунку 30 637 402 710, що складається з одинадцяти елементів, буде, швидше за все, запам'ятовуватися як 30 63 740 27 10, тобто як п'ять числових елементів, або вісім слів (тридцять, шістдесят, три, сім сотень, сорок , двадцять, сім, десять).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Це '''&amp;quot;магічне число&amp;quot;''' сім, яке слугує в свою чергу своєрідною міркою пам’яті, і було перевірено '''Міллером''', який показав, що пам’ять дійсно в середньому не може зберігати більше семи елементів; в залежності від складності елементів це число може коливатися в межах від п’яти до дев’яти.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Використовуючи '''принцип гаманця Міллера''' в дизайні інтерфейсів, слід '''групувати елементи GUI''' (кнопки на панелях інструментів, пункти меню, закладки, опції на цих закладках і т.д.) з врахування цього правила - не більше семи в групі, в крайньому випадку - дев’яти. Дійсно, довгий ряд кнопок на панелі інструментів зазвичай сприймається набагато гірше, ніж ті ж самі кнопки, зібрані за функціональною ознакою в групи та розмежовані роздільником. Багато дослідників радять знижувати максимально допустиму кількість елементів у групі до п'яти, з огляду на перевантаженість сучасних GUI інформацією.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;'''Групування''' передбачає розміщення елементів, що мають між собою функціональний взаємозв'язок, в одній компактній групі. Традиційно для групування використовуються спеціальні блоки групування, що виділяються на екрані рельєфними лініями. Проте останнім часом в деяких дослідженнях зазначається, що більш оптимальним є використання пропусків вільного місця і заголовків, виділених шрифтом (особливо це стосується діалогів, перевантажених різними елементами, тому що додаткові рельєфні лінії в ряді випадків ускладнюють загальну візуальну картину).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Подивіться, наприклад, на головне вікно програми '''Total Comannder &amp;quot;Podarok Edition&amp;quot;''': 42 кнопоки на верхній панелі, між якими нема ні одного роз’єднувача, сприймається набагато гірше чим тоді коли б вони були розбиті на групи.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:TotalPodarok.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Отже, принцип гаманця Міллера каже про сім плюс-мінус два елемента. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Але якщо поглянути на програми, інтерфейс яких вдосконалюється роками (той же '''Microsoft Word'''), то можна помітити, що число об’єктів (пунктів меню, кнопок на панелях інструментів) в групах доходить до шести-семи дуже рідко, а в основному елементи згруповані по три-чотири об’єкта.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Microsoft Word 2003''' має дуже довгі випадаючі меню, а також багато кнопок не розділених на групи, що може легко заплутаты недосвідченого користувача.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Word_2003.JPG]]&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Але якщо ми поглянемо на новішу версію '''Microsoft Word 2007''', то ми бачимо що елементи розбиті на групи, що дозволяє легше орієнтуватися в роботі.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;[[Image:Word_2007.JPG]]&amp;lt;/center&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;justify&amp;quot;&amp;gt;Такі невеликі групи об’єктів найбільш добре сприймаються поглядом користувача, вже трохи втомленого складними інтерфейсами сучасних програм. Я думаю, '''при проектуванні інтерфейсів програм, верхню межу гаманця Міллера - сім-дев'ять елементів - потрібно використовувати дуже обережно, намагаючись обмежуватися групами, що мають максимум п’ять об’єктів'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Приклад ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:52aeef62a6ef8f1bfb6820a18b0a5bd8.png]]&lt;br /&gt;
&lt;br /&gt;
Рис. 1 Спроектований макет титульної веб-сторінки.&lt;br /&gt;
&lt;br /&gt;
В ході проектування основні елементи управління були виконані у вигляді образів (рис. 1), які служать для ідентифікації цих елементів (тематичні розділи).&lt;br /&gt;
Активізація цих елементів призводить до переходу у відповідний розділ.&lt;br /&gt;
&lt;br /&gt;
[[Файл:01f7b0e649000ec56d9b58bd51ff2e50.png]]&lt;br /&gt;
&lt;br /&gt;
Рис. 2 Вид прихованої панелі з додатковою інформацією.&lt;br /&gt;
Елементи керування, які не входять до складу основної інформації, але є невід'ємною частиною веб-інтерфейсу (розділи: «профіль», «реєстрація», «вхід», «зворотний зв'язок»), було вирішено винести в окремий блок (рис. 2). Доступ до такого блока здійснюється користувачем при натисненні на особливу кнопку («вхід / реєстрація» в заритому вигляді, «закрити панель» у відкритому). У згорнутому варіанті, даний блок не відволікає користувача від роботи з веб-інтерфейсом.&lt;br /&gt;
Також були створені допоміжні елементи інтерфейсу, такі як «спливаючі підказки» (з'являються при підведенні курсору до цікавого об'єкту), службовці додатковим засобом навчання інтерфейсу.&lt;br /&gt;
&lt;br /&gt;
[[Файл:F98b4ef9642e9be54bc66c34b18a8fff.png]]&lt;br /&gt;
&lt;br /&gt;
Рис.3 Приклад роботи «спливаючої підказки».&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Висновок ==&lt;br /&gt;
&lt;br /&gt;
Підводячи підсумок з цієї теми можна сказати, що при проектуванні інтерфейсу число елементів (об'єктів) на ньому не повинно перевищувати семи, так як мозок людини не може сприйняти більше (виключенням є до 9 елементів, дивлячись від їх складності). &lt;br /&gt;
  &lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[[category:РІС]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS</id>
		<title>Тема 6. MacOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS"/>
				<updated>2012-11-23T18:27:18Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Плюси і мінуси ОС Mac OS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Hero122.png|right]]&lt;br /&gt;
Mac OS (Macintosh Operating System) - сімейство пропрієтарних операційних систем з графічним інтерфейсом. Разом з Mac OS X друга за популярністю у світі операційна система (їх загальна ринкова частка в травні 2011 року становила 5,4%). Розроблена корпорацією Apple (раніше - Apple Computers) для своєї лінійки комп'ютерів Macintosh. Популяризація графічного інтерфейсу користувача в сучасних операційних системах часто вважається заслугою Mac OS. Вона була вперше представлена ​​в 1984 році разом з оригінальним Macintosh 128K.&lt;br /&gt;
&lt;br /&gt;
Apple хотіла, щоб Макінтош представлявся як комп'ютер «для всіх інших». Сам термін «Mac OS» насправді не існував до тих пір, поки не був офіційно використаний в середині 1990-х років. З тих пір термін застосовується до всіх версій операційних систем Макінтоша як зручний спосіб виділення їх в контексті інших операційних систем.&lt;br /&gt;
&lt;br /&gt;
Ранні версії Mac OS були сумісні тільки з Макінтошем, заснованими на процесорах Motorola 68k, такі версії були сумісні з архітектурою PowerPC (PPC). З недавніх пір Mac OS X стала сумісна з архітектурою x86. Але політика фірми Apple така, що вона дозволяє встановлювати систему Mac OS тільки на комп'ютери Apple.&lt;br /&gt;
&lt;br /&gt;
== Історія ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac4l.png|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS вийшла у світ в 1984 році разом з першим персональним комп'ютером Macintosh від компанії Apple. Ідеї, втілені в першій версії системи Mac OS, її автори почерпнули у фірми Xerox. У дослідницькому центрі Xerox PARC в той час уже існував комп'ютер з графічною операційною системою, що тоді було справжнім проривом в еволюційному розвитку операційних систем. Але вони використовували її тільки для власних потреб і не планували комерційного застосування.&lt;br /&gt;
&lt;br /&gt;
Поєднавши вже наявні напрацювання і власні ідеї, програмісти компанії Apple створили Mac OS, першу доступну для всіх графічну операційну систему. У ній вже тоді був використаний всім нам звичний віконний інтерфейс, папки з файлами, і вперше був застосований маніпулятор, названий комп'ютерною мишею, здатний пересувати курсор по всій області екрану. Така концепція цілком відповідала головній ідеї самої компанії Apple, яка пропонувала створити комп'ютер доступний для всіх, як за ціною, так і в технічному плані.&lt;br /&gt;
&lt;br /&gt;
Вже тоді автори Mac OS задалися метою створити таку операційну систему, яка буде зручна і інтуїтивно зрозуміла будь-якому користувачеві, навіть не вивчавшему комп'ютер раніше. До цього часу комп'ютерними програмами та процесами керували за допомогою командного рядка, тому поява наочних значків позначивших папки, кошик (на рус. корзина), комп'ютер та інші елементи стали справжньою сенсацією того часу. Ці значки автори стали називати іконками. Розробники Mac OS визначили основи подальшого розвитку всіх операційних систем, багато з того, що вони придумали в далекому 1984 році, зараз є еталоном для всіх розробників програмного забезпечення.&lt;br /&gt;
&lt;br /&gt;
Перша версія Mac OS займала всього 216 кб дискового простору і працювала навіть при звичайному копіюванні з одного комп'ютера на інший. Але такий продукт був абсолютно не захищений від підробки, тому для того, щоб зберегти свої прибутки розробники всі подальшиі зусилля присвятили не тільки її технічному вдосконаленню, розширенню функціональності і стабільності, але і захисту. Після виходу першої версії Mac OS вийшло ще дев'ять її модифікацій, у яких були введені такі поліпшення як:&lt;br /&gt;
&lt;br /&gt;
- Використання мульти файндера, що дозволяє працювати відразу декільком додаткам одночасно;&lt;br /&gt;
&lt;br /&gt;
- Удосконалення мультимедійних функцій і можливостей роботи в інтернеті;&lt;br /&gt;
&lt;br /&gt;
- Зміна чорно-білих іконок на кольорові, а пізніше поява нового «платинового» інтерфейсу і можливості вибирати тему на свій смак;&lt;br /&gt;
&lt;br /&gt;
- Поява нової файлової системи HFS +;&lt;br /&gt;
&lt;br /&gt;
- Поліпшення функцій Інсталлер;&lt;br /&gt;
&lt;br /&gt;
- Поява програми Sherlock, призначеної для пошуку файлів на локальних дисках і в мережі інтернет;&lt;br /&gt;
&lt;br /&gt;
- Поява багатокористувацького режиму і розмежування прав доступу.&lt;br /&gt;
&lt;br /&gt;
Піком роботи над образом, удосконаленням можливостей і забезпеченням стабільності роботи операційної системи Mac OS того часу стала її дев'ята версія, яку зараз ще можна зустріти на деяких комп'ютерах Macintosh. Її називають класикою Mac OS. Macintosh завойовував популярність, а Mac OS принесла компанії величезний комерційний успіх. Але минав час і керівництво компанії Apple прийняло рішення про глобальні зміни.&lt;br /&gt;
&lt;br /&gt;
У березні 2000 року світ побачила абсолютно нова десята версія Mac OS X, яка не підтримує програмне забезпечення, призначене для Mac OS 9. Для її створення повністю переписали початковий програмний код, а за основу взяли операційну систему NeXTSTEP, розробником якої був один з тих, хто колись заснував компанію Apple, але за збігом обставин покинув її. Розробки фірми NEXT разом з її керівником були куплені компанією Apple, завдяки чому на чолі неї знову постає її засновник Стів Джобс.&lt;br /&gt;
&lt;br /&gt;
Тепер в Mac OS X використовується ядро ​​Mach, стандартні сервіси BSD і всі основні можливості операційної системи Unix. Це дало можливість у багато разів підвищити її функціональність, захищеність і стабільність. Багатозадачність Mac OS X дозволяє працювати декільком процесам відразу, але при цьому не заважати один одному, а при збої в роботі одного з них - не допускати збою всієї системи і переривання роботи інших процесів.&lt;br /&gt;
&lt;br /&gt;
На даний момент Mac OS X має власний красивий, неперевантажений спецефектами і приємний для очей інтерфейс Aqua. Вона проста у використанні і дружелюбна. У ній використовується середовище програмування Core Foundation, що включає в себе такі компоненти як Carbon API, Cocoa API і Java API. Графічна середа представлена ​​використанням таких технологій як QuickTime, Quartz Extreme і OpenGL. До того ж Mac OS X дозволяє використовувати програмне забезпечення, написане на таких мовах програмування, як Сі, C + +, Objective-C, Ruby та Java. Важливим достоїнством Mac OS X є її безпека при роботі в інтернеті, вона непогано захищена від інтернет-атак, та й кількість вірусів здатних її вразити на сьогоднішній день мізерно мало.&lt;br /&gt;
&lt;br /&gt;
Якщо враховувати всі достоїнства Mac OS, то відразу постає питання, чому вона досі не так широко поширена, як її основний конкурент всім відома ОС Windows. Відповідь на нього дуже простий, ОС Mac OS встановлюється тільки на комп'ютери Macintosh компанії Apple, що є принциповим рішенням її керівництва. Це не означає, що Mac OS не сумісна з комп'ютерами інших виробників і не може бути на них встановлена. Встановити систему звичайно можна, але на даний момент це вважається незаконним. Комп'ютери Macintosh мають невеликий модельний ряд і не можуть похвалитися різноманітністю, до того ж вони коштують на кілька разів дорожче звичайних персональних ЕОМ, тому число користувачів Macintosh порівняно менше відносно загального числа комп'ютерних користувачів у всьому світі.&lt;br /&gt;
&lt;br /&gt;
== Операційна система Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:382955.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Еволюція ОС Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13112.jpeg|right]]&lt;br /&gt;
&lt;br /&gt;
Операційна система компанії Apple Mac OS X на даний момент представлена ​​в двох варіантах: версія для робочих станцій і ноутбуків, а також версія для сервера, необхідна для організації роботи локальної мережі підприємства. Після виходу версії Mac OS X 10.0 було випущено ще шість її модифікацій, кожна з яких носить назву тварини з сімейства котячих.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.0 Cheetah (Гепард):''' стала першою оновленою версією операційної системи Mac OS. Вона з'явилася в березні 2001 року і була створена на основі ОС UNIX і сервісів FreeBSD. Нова технологія дозволила підвищити функціональність, надійність і безпека нової операційної системи. Але версія 10.0 Cheetah була нестабільна в роботі, в ній був відсутній ряд функцій, які є в останніх версія системи Mac OS X, тому компанія Apple випустила безкоштовне оновлення.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.1 Puma:''' безкоштовне оновлення розроблене компанією Apple, дозволяло оновити операційну систему Mac OS X 10.0 Cheetah до версії 10.1 (Puma), що дало можливість виправити ряд недоробок, які існували в першій версії і підвищити стабільність роботи. У ній з'явилися такі функції як: персоніфікація, висока якість графіки, швидкий доступ до системних параметрах, розширення спектру мережевих можливостей і периферійних пристроїв, відтворення і запис DVD дисків.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.2 Jaguar:''' в нову версію операційної системи Mac OS X було внесено понад 150 видів різних змін і доповнень, головним з яких стала підтримка апаратного прискорення інтерфейсу користувача з застосуванням технології Quartz Extreme, в результаті цього вся обробка зображень здійснюється процесором відеокарти. У цій версії з'явився мультимедійний центр QuickTime 6, інтернет програма обміну миттєвими повідомленнями iChat, єдина адресна книга, система рукописного введення Inkwell. Поліпшено програми mail, де з'явилася фільтрація спаму, пошук файлів на диску Finder і пошук інформації в інтернеті Sherlock 3.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.3 Panther:''' з'явилася на ринку 24 жовтня 2003 року, в неї була впроваджена технологія шифрування даних FileVault. Подальші оновлення системи привнесли ще ряд змін таких як: виправлені деякі проблеми безпеки, підвищення надійності в роботі із віддаленими файлами у змішаних мережах, поліпшена система файлового обміну та підтримка бездротових мереж, оновлені драйвера до відеокарт, система каталогів і підтримка OpenGL. Внесено зміни і доопрацювання в браузер Safari, поштовий клієнт mail, адресну книгу, Stickies і QuickTime, а також дороблена підтримка програмного забезпечення сторонніх розробників.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.4 Tiger:''' вийшла в квітні 2005 року і включила в себе більше 200 змін і доповнень, які необхідні для більш швидкої і стабільної роботи комп'ютера. Головними новинками цієї версії операційної системи Mac OS X стали унікальна функція швидкого пошуку інформації Spotlight і інтерфейс для віджетів Dashboard, додаток Automator, призначене для автоматизації ряду постійно повторюваних дій, що дозволило виконувати рутинну роботу з допомогою одного натискання.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.5 Leopard:''' з'явилася на ринку 26 жовтня 2007 року, вона включає в себе більше 300 поліпшень і доповнень. Зміни в першу чергу торкнулися ядра операційної системи, в нього тепер інтегрований фреймворк динамічного трасування DTrace, а також є середа Cocoa Bridges для розробки додатків на мовах програмування  Ruby і Python , Scripting Bridge дозволяє автоматизувати Mac-додатки за допомогою програм на Objective-C, Ruby і Python. У систему були також включені Rails, Mongrel і Capistrano. На даний момент Mac OS X 10.5 Leopard визнана повноцінною UNIX системою. Важливою подією стала поява в даній версії програми Boot Camp, за допомогою якої на комп'ютери Macintosh тепер можна встановлювати ОС Windows, в якості другої робочої операційної системи. У новій версії Mac OS X був повністю оновлений Finder і інші корисні додатки, додані такі функції як Stacks, Quick Look, Spaces і програма Time Machine для створення резервних копій системи і даних.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.6 Snow Leopard:''' була представлена ​​в червні 2008 року і включає в себе ряд кардинальних змін. Тепер вона працює тільки на процесорах Intel, використовує в роботі 64-розрядні технології, однаково працює з 64-розрядними та 32-розрядними додатками, займає майже в два рази менше місця на диску, швидше встановлюється, грузиться і працює. Всі стандартні додатки Mac OS X (Finder, Mail, Safari, iCal і iChat та ін) в новій версії були переведені на 64-розрядний код, що значно підвищило їх продуктивність і зробило їх більш стійкими до атак хакерів. Диспетчер Grand Central Dispatch дозволяє на повну використовувати можливості багатоядерних систем і збільшити продуктивність комп'ютера. Додано масштабування інтерфейсу. ОС Snow Leopard використовує технологію Bonjour для обміну файлами, стеки для роботи з вікнами програм, а також в ній оновлена ​​функція Expose, яка стала ще зручнішою і доступнішою. Збільшена швидкість резервного копіювання для передачі даних з метою запобігання збоїв з'єднання в iChat тепер може використовуватися сервер ретрансляції AIM.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac_OSX_Lion_.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X Lion''' (версія 10.7) стала восьмим основним випуском Mac OS X, лінії десктопних та серверних операційних систем компанії Apple для комп'ютерів Macintosh. Lion був публічно представлений на заході Apple «Back to the Mac» 20 жовтня 2010 року і було випущено 20 липня 2011 року. &lt;br /&gt;
&lt;br /&gt;
Деякі нововведення були анонсовані на «Back to the Mac», проте більшість із них буде відкрита ближче до випуску реліза.&lt;br /&gt;
&lt;br /&gt;
Mac App Store — магазин програм, зроблений за зразком App Store для iOS. Як і в iOS, це забезпечить можливість для покупців відкрити програми одним натисканням кнопки встановлення чи швидко оновити всі або обрані встановлені додатки. Mac App Store був випущений для Mac OS X Snow Leopard 6 січня 2011 і був у комплекті з Mac OS X 10.6.6&lt;br /&gt;
Launchpad - панель з іконками додатків, які можна впорядковувати та об'єднувати в папки;&lt;br /&gt;
&lt;br /&gt;
Full-screen apps — нова версія ОС дозволяє працювати з розгорнутими на весь екран додатками, при цьому користувачеві доступна можливість переключати їх жестами (multi-touch жести) на тачпаді, або переходити у звичайний режим перегляду;&lt;br /&gt;
&lt;br /&gt;
Mission Control — перегляд поточних додатків, інтеграції інших Mac OS функцій, включаючи Exposé, Spaces, Dashboard, and Full-screen apps;&lt;br /&gt;
&lt;br /&gt;
Multi-touch жести — за аналогією з iOS підтримка мультитач жестів через сенсорні пристрої Apple: Magic Mouse та Magic Trackpad;&lt;br /&gt;
&lt;br /&gt;
Auto save — автоматичне збереження документів, через що користувачам не доведеться турбуватися про ручне управління документами;&lt;br /&gt;
&lt;br /&gt;
Resume — функція автоматичного відновлення додатків до того стану, в якому вони перебували на момент вимикання або перезавантаження комп'ютера або ж на момент виходу з програми;&lt;br /&gt;
&lt;br /&gt;
Autohiding Scrollbars — смуги прокрутки знаходитимуться в області змісту вікна та приховуватимуться коли прокрутка не відбувається (знову ж за аналогією з iOS).&lt;br /&gt;
В даній версії настільної ОС запозичені деякі ідеї, реалізовані в планшеті iPad.&lt;br /&gt;
24 лютого 2011 року продемонструвавши нову ОС в дії було відзначено наступні нові функції і можливості Mac OS X Lion:&lt;br /&gt;
&lt;br /&gt;
Нова версія Mail 5 з підтримкою автоматичної угруповання пов'язаних повідомлень, поліпшеним механізмом пошуку та інтеграцією з Microsoft Exchange 2010;&lt;br /&gt;
&lt;br /&gt;
AirDrop;— простий механізм копіювання файлів між різними пристроями Mac за допомогою бездротового інтерфейсу, який не вимагає настройки;&lt;br /&gt;
&lt;br /&gt;
Versions — функція автоматичного збереження різних версій документа, що дозволяє відслідковувати процес внесення змін в документи і повертатися до їх попереднього стану;&lt;br /&gt;
FileVault — засоби шифрування даних на локальних і зовнішніх накопичувачах;&lt;br /&gt;
&lt;br /&gt;
Mac OS X Lion Server має підтримку управління пристроями з операційною системою Mac OS X Lion, а також портативними пристроями iPhone, iPad і iPod touch.&lt;br /&gt;
&lt;br /&gt;
'''Серверні функції'''&lt;br /&gt;
&lt;br /&gt;
Wiki Server 3 — програмне забезпечення, що дозволяє співпрацювати невеликим групам, розповсюджуючи текстову інформацію, файли та подкасти.&lt;br /&gt;
File Sharing for iPad — дозволяє використовуючи протокол WebDAV та Wi-Fi передавати на iPad та iPad2 деякі типи файлів, зокрема файли Pages, Keynote та Numbers.&lt;br /&gt;
Profile Manager —дозволяє керувати профілями та налаштуваннями iPhone, iPod touch, iPad та систем на базі Mac OS X Lion та автоматично оновлювати дані за допомогою Apple Push Notification.&lt;br /&gt;
&lt;br /&gt;
== Програми, що входять в комплект з Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13033.jpg|right|]]&lt;br /&gt;
&lt;br /&gt;
В основний комплект з установочного дистрибутивом Mac OS X входить пакет простих і зручних додатків, які необхідні для повсякденної роботи на комп'ютері. При покупці операційної системи не доведеться піклуватися про пошук програмного забезпечення для перегляду картинок, відеофайлів, прослуховування музики і запису дисків, до того в цей комплект входять програми для роботи в інтернеті, створення веб-сайтів, запису відеороликів і музичних композицій. Як і інші розробки компанії Apple цей пакет програм відрізняється зручністю використання, інтуїтивно зрозумілим інтерфейсом і функціональністю.&lt;br /&gt;
&lt;br /&gt;
До стандартних додатків операційної системи Mac OS X можна віднести такі програми як:&lt;br /&gt;
&lt;br /&gt;
'''Адресна книга''' - дозволяє створити базу контактних даних друзів, знайомих або клієнтів по роботі. У ній можна заносити імена, адреси, телефони, адреси електронної пошти і сайтів, а після цього здійснювати глобальний пошук по всій базі. Адресна книга може стати зручним інструментом у роботі для ділових людей.&lt;br /&gt;
&lt;br /&gt;
'''iCal''' - зручний і багатофункціональний календар, в якому не тільки можна подивитися потрібну дату, розпланувати свій робочий графік, але і створювати нагадування про важливі події, робити позначки.&lt;br /&gt;
&lt;br /&gt;
'''Finder''' - зручний файловий менеджер, дозволяє з легкістю працювати з файлами на жорсткому диску. Finder дає можливість копіювати, видаляти і переміщати файли, здійснювати пошук інформації на диску, а також переглядати зображення у вигляді тривимірного «потоку».&lt;br /&gt;
&lt;br /&gt;
'''Preview''' - простенький переглядач зображень, дозволяє переглянути не тільки файли картинок, але файли у форматі PDF.&lt;br /&gt;
&lt;br /&gt;
'''Spotlight''' - вбудований пошук інформації на комп'ютері та в локальній мережі. Spotlight дає можливість швидко знайти не тільки необхідний документ або файл по його назві, розширенню або часом створення, але й по його вмісту. Рядок пошуку є частиною панелі інструментів у вікон Finder та інших програм.&lt;br /&gt;
&lt;br /&gt;
'''Spaces''' - утиліта, що дозволяє упорядкувати і полегшити роботу з вікнами додатків. Вона стане незамінним інструментом для тих, хто працює з великою кількістю програм одночасно. Spaces, дозволяє не тільки створювати кілька віртуальних робочих столів, але й одночасно відображати на екрані їх мініатюри, а також за допомогою мишки перетягувати документи з одного столу на інший.&lt;br /&gt;
&lt;br /&gt;
'''Time Machine''' - корисна утиліта, що дозволяє створювати резервні копії операційної системи і іншої інформації, що міститься на комп'ютері. У разі збоїв роботу комп'ютера буде дуже просто відновити за допомогою так званого «знімка» системи, який за допомогою Time Machine записується на зовнішній вінчестер. Програма копіює всі зміни в папках, файлах і документах кожну годину, а в разі браку місця на диску, звільняє його допомогою видалення самих старих копій.&lt;br /&gt;
&lt;br /&gt;
'''Automator''' - утиліта, необхідна для тих, хто часто виконує однотипні дії з файлами. За допомогою automator навіть людина без знань програмування, за допомогою макросів, створюваних на основі стандартних функцій додатків може задати послідовність дій, після чого рутинну щоденну роботу можна буде робити за допомогою всього одного натискання.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з мультимедійними даними&lt;br /&gt;
&lt;br /&gt;
'''iPhoto''' - програма, що дозволяє створювати особистий фотоархів. За допомогою iPhoto цифрові фотографії можна імпортувати з фотоапарата в архів, створювати альбоми і події, редагувати, експортувати в інтернет і записувати на диски. iPhoto допоможе створити з фотографій календарі та листівки, зберегти їх у форматі PDF або роздрукувати на принтері, а також робити презентації для перегляду цілих галерей фотографій з використанням спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
'''iTunes''' - це медіаплеєр для роботи з музичними і відео файлами, за допомогою нього можна систематизувати медіадані на вашому комп'ютері, слухати музику і дивитися фільми, конвертувати різні музичні формати і музику з дисків, працювати з iPod і iPhone і плеєром Apple TV. В on-line режимі браузер iTunes дозволяє купувати музику в інтернет магазині iTunes Store, а також слухати будь радіостанції.&lt;br /&gt;
&lt;br /&gt;
'''iMovie''' - програма для створення відеороликів. За допомогою iMovie можна імпортувати відео дані з цифрових відеокамер, різати відеофайли, компонувати відеодоріжки звуком, додавати фотографії та різні спецефекти, після чого експортувати отриманий запис в різні відеоформати.&lt;br /&gt;
&lt;br /&gt;
'''Garage Band''' - програма для тих, хто захоплюється записом власних музичних композицій. Garage Band дозволяє працювати відразу з декількома звуковими доріжками, додавати семпли, що зберігаються в банку звуків, або захоплювати сигнали з електроінструментів допомогою MIDI-перехідника, записувати голос або звуки за допомогою мікрофона. В останніх версіях Garage Band до звуку можна додавати відео.&lt;br /&gt;
&lt;br /&gt;
'''iDVD''' - програма для запису дисків, за допомогою неї можна записувати слайд-шоу, відео фільми на DVD диски і створювати власне меню з використанням різних спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з інтернет&lt;br /&gt;
&lt;br /&gt;
[[Файл:133122.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Safari''' - веб-браузер для роботи в мережі інтернет, став входити в комплект з ОС починаючи з версії Mac OS X 10.3 Panther. Safari дозволяє відкривати декілька сторінок в одному вікні і масштабувати розмір текстового поля, має вбудований пошук і захист від злому, вірусів і мережевих атак. Safari підтримує автозаповнення форм, режим приватного перегляду веб-сторінок, при якому не ведеться історія відвідувань, містить перевірку тексту і вбудований RSS-агрегатор.&lt;br /&gt;
&lt;br /&gt;
'''Mail''' - поштовий клієнт, який підтримує протоколи POP, IMAP і Exchange. Mail дозволяє отримувати листи, контролювати фільтрацію спаму, сортувати список кореспонденції по значущості, заносити важливі дати з листів в календар, видаляти одне або декілька листів одразу, пересилати листи або відправляти приховані копії. У програмі mail міститься 30 шаблонів, дозволяють красиво оформити лист або створити святкову листівку.&lt;br /&gt;
&lt;br /&gt;
'''iChat''' - чат-клієнт для миттєвого обміну повідомленнями з підтримкою веб-камери, дозволяє не тільки влаштовувати відеоконференції і аудіоконференції з одним або декількома співрозмовниками, спілкуватися з друзями в текстовій формі, але й показувати їм документи, фото та відео файли за допомогою функції iChat Theater . З дозволу співрозмовника iChat надає можливість записувати все спілкування.&lt;br /&gt;
&lt;br /&gt;
iWeb - додаток для створення власних веб-сторінок, сайтів та розміщення їх в мережі інтернет. iWeb дозволяє швидко створити і відредагувати сайт, навіть не володіючи знаннями веб-програмування та сайтобудування. За допомогою шаблонів iWeb можна легко створити свій сайт або блог, розміщувати в інтернеті фотографії, відео ролики і аудіозаписи.&lt;br /&gt;
&lt;br /&gt;
До складу операційної системи Mac OS X входить інтерфейс для віджетів Dashboard, при його запуску на екрані з'являється вікно з набором невеликих програм, які можуть бути корисні користувачеві. У стандартний набір віджетів для Mac OS X включені 14 додатків: адресна книга, калькулятор, календар, словник, телефонна книга, перекладач, конвертер одиниць вимірювання, замітки, гра «п'ятнашки», курс валют, світове час, погода, авіадовідка, акції і контролер iTunes. На сайті компанії Apple існує ще більше сотні різних віджетів, які можна скачати і встановити на комп'ютер. Кількість і зовнішній вигляд віджетів, що входять в стандартну комплектацію може змінюватися в залежності від версії Mac OS X.&lt;br /&gt;
&lt;br /&gt;
В останніх версіях Mac OS X є ще дві нові функції. Одна з них називається батьківський контроль, і дає можливість батькам контролювати своїх дітей. Вона може перевіряти сайти перед завантаженням, для того щоб виключити перегляд небажаних веб-сторінок, записує, які дії проводилися на комп'ютері за час роботи, веде історію зміни файлів, запуску додатків і перегляду сторінок в інтернеті. Батьківський контроль дозволяє встановлювати таймер виключення комп'ютера.&lt;br /&gt;
&lt;br /&gt;
Програмне забезпечення Boot Camp дозволяє завантажувати на комп'ютерах Intel Macintosh операційну систему Windows XP або Windows Vista. Boot Camp виділяє на диску ще один розділ і форматує його під файлову систему Fat32 або NTFS, після чого в цей розділ встановлюється Windows. При цьому для роботи кожної з систем потрібне перезавантаження комп'ютера. При завантаженні Mac OS X розділ диска зарезервований під Windows буде доступний тільки для читання і навпаки.&lt;br /&gt;
&lt;br /&gt;
Boot Camp увійшов до складу Mac OS X, починаючи з версії Mac OS X 10.5 Leopard, раніше йшла його beta версія. Зараз в комплекті Mac OS X надається пакет драйверів до Windows і аплет для панелі управління Windows, за допомогою якого можна встановити початкові налаштування системи. Продажем і розповсюдженням ОС Windows компанія Apple не займається. Boot Camp був створений для того, щоб полегшити перехід всім бажаючим з звичайних комп'ютерів на комп'ютери Macintosh, а так само запускати на них додатки, які ще не реалізовані для операційної системи Mac OS.&lt;br /&gt;
&lt;br /&gt;
== Плюси і мінуси ОС Mac OS == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпеку і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
В новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
В Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує стандартний графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Література ==&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://www.apple.com/imac/&lt;br /&gt;
&lt;br /&gt;
http://4mac.su/faq/page/3/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macevolutn.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macprogram.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macplusminus.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/index.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macosx.html&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC</id>
		<title>Максим</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%9C%D0%B0%D0%BA%D1%81%D0%B8%D0%BC"/>
				<updated>2012-11-23T18:21:00Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Мої роботи */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Про себе ==&lt;br /&gt;
......&lt;br /&gt;
&lt;br /&gt;
== Мої інтереси ==&lt;br /&gt;
....&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Проекти в яких беру участь ==&lt;br /&gt;
В цьому розділі розміщуються посилання на проекти, в яких ви берете участь. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Мої роботи ==&lt;br /&gt;
[[Рябець_мульт_лаб№1-2]]&lt;br /&gt;
&lt;br /&gt;
[[Рябець_мульт_лаб№1-2]]&lt;br /&gt;
&lt;br /&gt;
[[Рябець_мульт_лаб№3]]&lt;br /&gt;
&lt;br /&gt;
[[Рябець_мульт_лаб№4]]&lt;br /&gt;
&lt;br /&gt;
[[Рябець_мульт_лаб№5]]&lt;br /&gt;
&lt;br /&gt;
[[Рябець_мульт_лаб№6]]&lt;br /&gt;
&lt;br /&gt;
[[Рябець_мульт_лаб№7-8]]&lt;br /&gt;
&lt;br /&gt;
[[Геометрична інтерпретація задачі лінійного програмування. Графічний метод розв’язування задач лінійного програмування]]&lt;br /&gt;
&lt;br /&gt;
[[Класифікація моделей та вимоги до них]]&lt;br /&gt;
&lt;br /&gt;
[[Критерії опорного плану.]]&lt;br /&gt;
&lt;br /&gt;
[[Умова цілочисельності опорного плану]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад моделі зовнішнього вигляду]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад моделі структури]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад моделі поведінки]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад пізнавальної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад комунікативної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад моделі, що виникає в сфері практичної діяльності]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад натурної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад ідеальної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад інформаційної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад реєструвальної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад еталонної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад прогностичної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад імітаційної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад неформалізованій моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад частково формалізованої моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад формалізованої моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад статичної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад динамічної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад детермінованої динамічної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Приклад стохастичною динамічної моделі]]&lt;br /&gt;
&lt;br /&gt;
[[Довідка та документація]]&lt;br /&gt;
&lt;br /&gt;
[[Тема 6. MacOS]]&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS</id>
		<title>Тема 6. MacOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS"/>
				<updated>2012-11-23T18:14:50Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Програми, що входять в комплект з Mac OS X */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Hero122.png|right]]&lt;br /&gt;
Mac OS (Macintosh Operating System) - сімейство пропрієтарних операційних систем з графічним інтерфейсом. Разом з Mac OS X друга за популярністю у світі операційна система (їх загальна ринкова частка в травні 2011 року становила 5,4%). Розроблена корпорацією Apple (раніше - Apple Computers) для своєї лінійки комп'ютерів Macintosh. Популяризація графічного інтерфейсу користувача в сучасних операційних системах часто вважається заслугою Mac OS. Вона була вперше представлена ​​в 1984 році разом з оригінальним Macintosh 128K.&lt;br /&gt;
&lt;br /&gt;
Apple хотіла, щоб Макінтош представлявся як комп'ютер «для всіх інших». Сам термін «Mac OS» насправді не існував до тих пір, поки не був офіційно використаний в середині 1990-х років. З тих пір термін застосовується до всіх версій операційних систем Макінтоша як зручний спосіб виділення їх в контексті інших операційних систем.&lt;br /&gt;
&lt;br /&gt;
Ранні версії Mac OS були сумісні тільки з Макінтошем, заснованими на процесорах Motorola 68k, такі версії були сумісні з архітектурою PowerPC (PPC). З недавніх пір Mac OS X стала сумісна з архітектурою x86. Але політика фірми Apple така, що вона дозволяє встановлювати систему Mac OS тільки на комп'ютери Apple.&lt;br /&gt;
&lt;br /&gt;
== Історія ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac4l.png|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS вийшла у світ в 1984 році разом з першим персональним комп'ютером Macintosh від компанії Apple. Ідеї, втілені в першій версії системи Mac OS, її автори почерпнули у фірми Xerox. У дослідницькому центрі Xerox PARC в той час уже існував комп'ютер з графічною операційною системою, що тоді було справжнім проривом в еволюційному розвитку операційних систем. Але вони використовували її тільки для власних потреб і не планували комерційного застосування.&lt;br /&gt;
&lt;br /&gt;
Поєднавши вже наявні напрацювання і власні ідеї, програмісти компанії Apple створили Mac OS, першу доступну для всіх графічну операційну систему. У ній вже тоді був використаний всім нам звичний віконний інтерфейс, папки з файлами, і вперше був застосований маніпулятор, названий комп'ютерною мишею, здатний пересувати курсор по всій області екрану. Така концепція цілком відповідала головній ідеї самої компанії Apple, яка пропонувала створити комп'ютер доступний для всіх, як за ціною, так і в технічному плані.&lt;br /&gt;
&lt;br /&gt;
Вже тоді автори Mac OS задалися метою створити таку операційну систему, яка буде зручна і інтуїтивно зрозуміла будь-якому користувачеві, навіть не вивчавшему комп'ютер раніше. До цього часу комп'ютерними програмами та процесами керували за допомогою командного рядка, тому поява наочних значків позначивших папки, кошик (на рус. корзина), комп'ютер та інші елементи стали справжньою сенсацією того часу. Ці значки автори стали називати іконками. Розробники Mac OS визначили основи подальшого розвитку всіх операційних систем, багато з того, що вони придумали в далекому 1984 році, зараз є еталоном для всіх розробників програмного забезпечення.&lt;br /&gt;
&lt;br /&gt;
Перша версія Mac OS займала всього 216 кб дискового простору і працювала навіть при звичайному копіюванні з одного комп'ютера на інший. Але такий продукт був абсолютно не захищений від підробки, тому для того, щоб зберегти свої прибутки розробники всі подальшиі зусилля присвятили не тільки її технічному вдосконаленню, розширенню функціональності і стабільності, але і захисту. Після виходу першої версії Mac OS вийшло ще дев'ять її модифікацій, у яких були введені такі поліпшення як:&lt;br /&gt;
&lt;br /&gt;
- Використання мульти файндера, що дозволяє працювати відразу декільком додаткам одночасно;&lt;br /&gt;
&lt;br /&gt;
- Удосконалення мультимедійних функцій і можливостей роботи в інтернеті;&lt;br /&gt;
&lt;br /&gt;
- Зміна чорно-білих іконок на кольорові, а пізніше поява нового «платинового» інтерфейсу і можливості вибирати тему на свій смак;&lt;br /&gt;
&lt;br /&gt;
- Поява нової файлової системи HFS +;&lt;br /&gt;
&lt;br /&gt;
- Поліпшення функцій Інсталлер;&lt;br /&gt;
&lt;br /&gt;
- Поява програми Sherlock, призначеної для пошуку файлів на локальних дисках і в мережі інтернет;&lt;br /&gt;
&lt;br /&gt;
- Поява багатокористувацького режиму і розмежування прав доступу.&lt;br /&gt;
&lt;br /&gt;
Піком роботи над образом, удосконаленням можливостей і забезпеченням стабільності роботи операційної системи Mac OS того часу стала її дев'ята версія, яку зараз ще можна зустріти на деяких комп'ютерах Macintosh. Її називають класикою Mac OS. Macintosh завойовував популярність, а Mac OS принесла компанії величезний комерційний успіх. Але минав час і керівництво компанії Apple прийняло рішення про глобальні зміни.&lt;br /&gt;
&lt;br /&gt;
У березні 2000 року світ побачила абсолютно нова десята версія Mac OS X, яка не підтримує програмне забезпечення, призначене для Mac OS 9. Для її створення повністю переписали початковий програмний код, а за основу взяли операційну систему NeXTSTEP, розробником якої був один з тих, хто колись заснував компанію Apple, але за збігом обставин покинув її. Розробки фірми NEXT разом з її керівником були куплені компанією Apple, завдяки чому на чолі неї знову постає її засновник Стів Джобс.&lt;br /&gt;
&lt;br /&gt;
Тепер в Mac OS X використовується ядро ​​Mach, стандартні сервіси BSD і всі основні можливості операційної системи Unix. Це дало можливість у багато разів підвищити її функціональність, захищеність і стабільність. Багатозадачність Mac OS X дозволяє працювати декільком процесам відразу, але при цьому не заважати один одному, а при збої в роботі одного з них - не допускати збою всієї системи і переривання роботи інших процесів.&lt;br /&gt;
&lt;br /&gt;
На даний момент Mac OS X має власний красивий, неперевантажений спецефектами і приємний для очей інтерфейс Aqua. Вона проста у використанні і дружелюбна. У ній використовується середовище програмування Core Foundation, що включає в себе такі компоненти як Carbon API, Cocoa API і Java API. Графічна середа представлена ​​використанням таких технологій як QuickTime, Quartz Extreme і OpenGL. До того ж Mac OS X дозволяє використовувати програмне забезпечення, написане на таких мовах програмування, як Сі, C + +, Objective-C, Ruby та Java. Важливим достоїнством Mac OS X є її безпека при роботі в інтернеті, вона непогано захищена від інтернет-атак, та й кількість вірусів здатних її вразити на сьогоднішній день мізерно мало.&lt;br /&gt;
&lt;br /&gt;
Якщо враховувати всі достоїнства Mac OS, то відразу постає питання, чому вона досі не так широко поширена, як її основний конкурент всім відома ОС Windows. Відповідь на нього дуже простий, ОС Mac OS встановлюється тільки на комп'ютери Macintosh компанії Apple, що є принциповим рішенням її керівництва. Це не означає, що Mac OS не сумісна з комп'ютерами інших виробників і не може бути на них встановлена. Встановити систему звичайно можна, але на даний момент це вважається незаконним. Комп'ютери Macintosh мають невеликий модельний ряд і не можуть похвалитися різноманітністю, до того ж вони коштують на кілька разів дорожче звичайних персональних ЕОМ, тому число користувачів Macintosh порівняно менше відносно загального числа комп'ютерних користувачів у всьому світі.&lt;br /&gt;
&lt;br /&gt;
== Операційна система Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:382955.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Еволюція ОС Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13112.jpeg|right]]&lt;br /&gt;
&lt;br /&gt;
Операційна система компанії Apple Mac OS X на даний момент представлена ​​в двох варіантах: версія для робочих станцій і ноутбуків, а також версія для сервера, необхідна для організації роботи локальної мережі підприємства. Після виходу версії Mac OS X 10.0 було випущено ще шість її модифікацій, кожна з яких носить назву тварини з сімейства котячих.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.0 Cheetah (Гепард):''' стала першою оновленою версією операційної системи Mac OS. Вона з'явилася в березні 2001 року і була створена на основі ОС UNIX і сервісів FreeBSD. Нова технологія дозволила підвищити функціональність, надійність і безпека нової операційної системи. Але версія 10.0 Cheetah була нестабільна в роботі, в ній був відсутній ряд функцій, які є в останніх версія системи Mac OS X, тому компанія Apple випустила безкоштовне оновлення.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.1 Puma:''' безкоштовне оновлення розроблене компанією Apple, дозволяло оновити операційну систему Mac OS X 10.0 Cheetah до версії 10.1 (Puma), що дало можливість виправити ряд недоробок, які існували в першій версії і підвищити стабільність роботи. У ній з'явилися такі функції як: персоніфікація, висока якість графіки, швидкий доступ до системних параметрах, розширення спектру мережевих можливостей і периферійних пристроїв, відтворення і запис DVD дисків.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.2 Jaguar:''' в нову версію операційної системи Mac OS X було внесено понад 150 видів різних змін і доповнень, головним з яких стала підтримка апаратного прискорення інтерфейсу користувача з застосуванням технології Quartz Extreme, в результаті цього вся обробка зображень здійснюється процесором відеокарти. У цій версії з'явився мультимедійний центр QuickTime 6, інтернет програма обміну миттєвими повідомленнями iChat, єдина адресна книга, система рукописного введення Inkwell. Поліпшено програми mail, де з'явилася фільтрація спаму, пошук файлів на диску Finder і пошук інформації в інтернеті Sherlock 3.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.3 Panther:''' з'явилася на ринку 24 жовтня 2003 року, в неї була впроваджена технологія шифрування даних FileVault. Подальші оновлення системи привнесли ще ряд змін таких як: виправлені деякі проблеми безпеки, підвищення надійності в роботі із віддаленими файлами у змішаних мережах, поліпшена система файлового обміну та підтримка бездротових мереж, оновлені драйвера до відеокарт, система каталогів і підтримка OpenGL. Внесено зміни і доопрацювання в браузер Safari, поштовий клієнт mail, адресну книгу, Stickies і QuickTime, а також дороблена підтримка програмного забезпечення сторонніх розробників.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.4 Tiger:''' вийшла в квітні 2005 року і включила в себе більше 200 змін і доповнень, які необхідні для більш швидкої і стабільної роботи комп'ютера. Головними новинками цієї версії операційної системи Mac OS X стали унікальна функція швидкого пошуку інформації Spotlight і інтерфейс для віджетів Dashboard, додаток Automator, призначене для автоматизації ряду постійно повторюваних дій, що дозволило виконувати рутинну роботу з допомогою одного натискання.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.5 Leopard:''' з'явилася на ринку 26 жовтня 2007 року, вона включає в себе більше 300 поліпшень і доповнень. Зміни в першу чергу торкнулися ядра операційної системи, в нього тепер інтегрований фреймворк динамічного трасування DTrace, а також є середа Cocoa Bridges для розробки додатків на мовах програмування  Ruby і Python , Scripting Bridge дозволяє автоматизувати Mac-додатки за допомогою програм на Objective-C, Ruby і Python. У систему були також включені Rails, Mongrel і Capistrano. На даний момент Mac OS X 10.5 Leopard визнана повноцінною UNIX системою. Важливою подією стала поява в даній версії програми Boot Camp, за допомогою якої на комп'ютери Macintosh тепер можна встановлювати ОС Windows, в якості другої робочої операційної системи. У новій версії Mac OS X був повністю оновлений Finder і інші корисні додатки, додані такі функції як Stacks, Quick Look, Spaces і програма Time Machine для створення резервних копій системи і даних.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.6 Snow Leopard:''' була представлена ​​в червні 2008 року і включає в себе ряд кардинальних змін. Тепер вона працює тільки на процесорах Intel, використовує в роботі 64-розрядні технології, однаково працює з 64-розрядними та 32-розрядними додатками, займає майже в два рази менше місця на диску, швидше встановлюється, грузиться і працює. Всі стандартні додатки Mac OS X (Finder, Mail, Safari, iCal і iChat та ін) в новій версії були переведені на 64-розрядний код, що значно підвищило їх продуктивність і зробило їх більш стійкими до атак хакерів. Диспетчер Grand Central Dispatch дозволяє на повну використовувати можливості багатоядерних систем і збільшити продуктивність комп'ютера. Додано масштабування інтерфейсу. ОС Snow Leopard використовує технологію Bonjour для обміну файлами, стеки для роботи з вікнами програм, а також в ній оновлена ​​функція Expose, яка стала ще зручнішою і доступнішою. Збільшена швидкість резервного копіювання для передачі даних з метою запобігання збоїв з'єднання в iChat тепер може використовуватися сервер ретрансляції AIM.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac_OSX_Lion_.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X Lion''' (версія 10.7) стала восьмим основним випуском Mac OS X, лінії десктопних та серверних операційних систем компанії Apple для комп'ютерів Macintosh. Lion був публічно представлений на заході Apple «Back to the Mac» 20 жовтня 2010 року і було випущено 20 липня 2011 року. &lt;br /&gt;
&lt;br /&gt;
Деякі нововведення були анонсовані на «Back to the Mac», проте більшість із них буде відкрита ближче до випуску реліза.&lt;br /&gt;
&lt;br /&gt;
Mac App Store — магазин програм, зроблений за зразком App Store для iOS. Як і в iOS, це забезпечить можливість для покупців відкрити програми одним натисканням кнопки встановлення чи швидко оновити всі або обрані встановлені додатки. Mac App Store був випущений для Mac OS X Snow Leopard 6 січня 2011 і був у комплекті з Mac OS X 10.6.6&lt;br /&gt;
Launchpad - панель з іконками додатків, які можна впорядковувати та об'єднувати в папки;&lt;br /&gt;
&lt;br /&gt;
Full-screen apps — нова версія ОС дозволяє працювати з розгорнутими на весь екран додатками, при цьому користувачеві доступна можливість переключати їх жестами (multi-touch жести) на тачпаді, або переходити у звичайний режим перегляду;&lt;br /&gt;
&lt;br /&gt;
Mission Control — перегляд поточних додатків, інтеграції інших Mac OS функцій, включаючи Exposé, Spaces, Dashboard, and Full-screen apps;&lt;br /&gt;
&lt;br /&gt;
Multi-touch жести — за аналогією з iOS підтримка мультитач жестів через сенсорні пристрої Apple: Magic Mouse та Magic Trackpad;&lt;br /&gt;
&lt;br /&gt;
Auto save — автоматичне збереження документів, через що користувачам не доведеться турбуватися про ручне управління документами;&lt;br /&gt;
&lt;br /&gt;
Resume — функція автоматичного відновлення додатків до того стану, в якому вони перебували на момент вимикання або перезавантаження комп'ютера або ж на момент виходу з програми;&lt;br /&gt;
&lt;br /&gt;
Autohiding Scrollbars — смуги прокрутки знаходитимуться в області змісту вікна та приховуватимуться коли прокрутка не відбувається (знову ж за аналогією з iOS).&lt;br /&gt;
В даній версії настільної ОС запозичені деякі ідеї, реалізовані в планшеті iPad.&lt;br /&gt;
24 лютого 2011 року продемонструвавши нову ОС в дії було відзначено наступні нові функції і можливості Mac OS X Lion:&lt;br /&gt;
&lt;br /&gt;
Нова версія Mail 5 з підтримкою автоматичної угруповання пов'язаних повідомлень, поліпшеним механізмом пошуку та інтеграцією з Microsoft Exchange 2010;&lt;br /&gt;
&lt;br /&gt;
AirDrop;— простий механізм копіювання файлів між різними пристроями Mac за допомогою бездротового інтерфейсу, який не вимагає настройки;&lt;br /&gt;
&lt;br /&gt;
Versions — функція автоматичного збереження різних версій документа, що дозволяє відслідковувати процес внесення змін в документи і повертатися до їх попереднього стану;&lt;br /&gt;
FileVault — засоби шифрування даних на локальних і зовнішніх накопичувачах;&lt;br /&gt;
&lt;br /&gt;
Mac OS X Lion Server має підтримку управління пристроями з операційною системою Mac OS X Lion, а також портативними пристроями iPhone, iPad і iPod touch.&lt;br /&gt;
&lt;br /&gt;
'''Серверні функції'''&lt;br /&gt;
&lt;br /&gt;
Wiki Server 3 — програмне забезпечення, що дозволяє співпрацювати невеликим групам, розповсюджуючи текстову інформацію, файли та подкасти.&lt;br /&gt;
File Sharing for iPad — дозволяє використовуючи протокол WebDAV та Wi-Fi передавати на iPad та iPad2 деякі типи файлів, зокрема файли Pages, Keynote та Numbers.&lt;br /&gt;
Profile Manager —дозволяє керувати профілями та налаштуваннями iPhone, iPod touch, iPad та систем на базі Mac OS X Lion та автоматично оновлювати дані за допомогою Apple Push Notification.&lt;br /&gt;
&lt;br /&gt;
== Програми, що входять в комплект з Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13033.jpg|right|]]&lt;br /&gt;
&lt;br /&gt;
В основний комплект з установочного дистрибутивом Mac OS X входить пакет простих і зручних додатків, які необхідні для повсякденної роботи на комп'ютері. При покупці операційної системи не доведеться піклуватися про пошук програмного забезпечення для перегляду картинок, відеофайлів, прослуховування музики і запису дисків, до того в цей комплект входять програми для роботи в інтернеті, створення веб-сайтів, запису відеороликів і музичних композицій. Як і інші розробки компанії Apple цей пакет програм відрізняється зручністю використання, інтуїтивно зрозумілим інтерфейсом і функціональністю.&lt;br /&gt;
&lt;br /&gt;
До стандартних додатків операційної системи Mac OS X можна віднести такі програми як:&lt;br /&gt;
&lt;br /&gt;
'''Адресна книга''' - дозволяє створити базу контактних даних друзів, знайомих або клієнтів по роботі. У ній можна заносити імена, адреси, телефони, адреси електронної пошти і сайтів, а після цього здійснювати глобальний пошук по всій базі. Адресна книга може стати зручним інструментом у роботі для ділових людей.&lt;br /&gt;
&lt;br /&gt;
'''iCal''' - зручний і багатофункціональний календар, в якому не тільки можна подивитися потрібну дату, розпланувати свій робочий графік, але і створювати нагадування про важливі події, робити позначки.&lt;br /&gt;
&lt;br /&gt;
'''Finder''' - зручний файловий менеджер, дозволяє з легкістю працювати з файлами на жорсткому диску. Finder дає можливість копіювати, видаляти і переміщати файли, здійснювати пошук інформації на диску, а також переглядати зображення у вигляді тривимірного «потоку».&lt;br /&gt;
&lt;br /&gt;
'''Preview''' - простенький переглядач зображень, дозволяє переглянути не тільки файли картинок, але файли у форматі PDF.&lt;br /&gt;
&lt;br /&gt;
'''Spotlight''' - вбудований пошук інформації на комп'ютері та в локальній мережі. Spotlight дає можливість швидко знайти не тільки необхідний документ або файл по його назві, розширенню або часом створення, але й по його вмісту. Рядок пошуку є частиною панелі інструментів у вікон Finder та інших програм.&lt;br /&gt;
&lt;br /&gt;
'''Spaces''' - утиліта, що дозволяє упорядкувати і полегшити роботу з вікнами додатків. Вона стане незамінним інструментом для тих, хто працює з великою кількістю програм одночасно. Spaces, дозволяє не тільки створювати кілька віртуальних робочих столів, але й одночасно відображати на екрані їх мініатюри, а також за допомогою мишки перетягувати документи з одного столу на інший.&lt;br /&gt;
&lt;br /&gt;
'''Time Machine''' - корисна утиліта, що дозволяє створювати резервні копії операційної системи і іншої інформації, що міститься на комп'ютері. У разі збоїв роботу комп'ютера буде дуже просто відновити за допомогою так званого «знімка» системи, який за допомогою Time Machine записується на зовнішній вінчестер. Програма копіює всі зміни в папках, файлах і документах кожну годину, а в разі браку місця на диску, звільняє його допомогою видалення самих старих копій.&lt;br /&gt;
&lt;br /&gt;
'''Automator''' - утиліта, необхідна для тих, хто часто виконує однотипні дії з файлами. За допомогою automator навіть людина без знань програмування, за допомогою макросів, створюваних на основі стандартних функцій додатків може задати послідовність дій, після чого рутинну щоденну роботу можна буде робити за допомогою всього одного натискання.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з мультимедійними даними&lt;br /&gt;
&lt;br /&gt;
'''iPhoto''' - програма, що дозволяє створювати особистий фотоархів. За допомогою iPhoto цифрові фотографії можна імпортувати з фотоапарата в архів, створювати альбоми і події, редагувати, експортувати в інтернет і записувати на диски. iPhoto допоможе створити з фотографій календарі та листівки, зберегти їх у форматі PDF або роздрукувати на принтері, а також робити презентації для перегляду цілих галерей фотографій з використанням спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
'''iTunes''' - це медіаплеєр для роботи з музичними і відео файлами, за допомогою нього можна систематизувати медіадані на вашому комп'ютері, слухати музику і дивитися фільми, конвертувати різні музичні формати і музику з дисків, працювати з iPod і iPhone і плеєром Apple TV. В on-line режимі браузер iTunes дозволяє купувати музику в інтернет магазині iTunes Store, а також слухати будь радіостанції.&lt;br /&gt;
&lt;br /&gt;
'''iMovie''' - програма для створення відеороликів. За допомогою iMovie можна імпортувати відео дані з цифрових відеокамер, різати відеофайли, компонувати відеодоріжки звуком, додавати фотографії та різні спецефекти, після чого експортувати отриманий запис в різні відеоформати.&lt;br /&gt;
&lt;br /&gt;
'''Garage Band''' - програма для тих, хто захоплюється записом власних музичних композицій. Garage Band дозволяє працювати відразу з декількома звуковими доріжками, додавати семпли, що зберігаються в банку звуків, або захоплювати сигнали з електроінструментів допомогою MIDI-перехідника, записувати голос або звуки за допомогою мікрофона. В останніх версіях Garage Band до звуку можна додавати відео.&lt;br /&gt;
&lt;br /&gt;
'''iDVD''' - програма для запису дисків, за допомогою неї можна записувати слайд-шоу, відео фільми на DVD диски і створювати власне меню з використанням різних спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з інтернет&lt;br /&gt;
&lt;br /&gt;
[[Файл:133122.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Safari''' - веб-браузер для роботи в мережі інтернет, став входити в комплект з ОС починаючи з версії Mac OS X 10.3 Panther. Safari дозволяє відкривати декілька сторінок в одному вікні і масштабувати розмір текстового поля, має вбудований пошук і захист від злому, вірусів і мережевих атак. Safari підтримує автозаповнення форм, режим приватного перегляду веб-сторінок, при якому не ведеться історія відвідувань, містить перевірку тексту і вбудований RSS-агрегатор.&lt;br /&gt;
&lt;br /&gt;
'''Mail''' - поштовий клієнт, який підтримує протоколи POP, IMAP і Exchange. Mail дозволяє отримувати листи, контролювати фільтрацію спаму, сортувати список кореспонденції по значущості, заносити важливі дати з листів в календар, видаляти одне або декілька листів одразу, пересилати листи або відправляти приховані копії. У програмі mail міститься 30 шаблонів, дозволяють красиво оформити лист або створити святкову листівку.&lt;br /&gt;
&lt;br /&gt;
'''iChat''' - чат-клієнт для миттєвого обміну повідомленнями з підтримкою веб-камери, дозволяє не тільки влаштовувати відеоконференції і аудіоконференції з одним або декількома співрозмовниками, спілкуватися з друзями в текстовій формі, але й показувати їм документи, фото та відео файли за допомогою функції iChat Theater . З дозволу співрозмовника iChat надає можливість записувати все спілкування.&lt;br /&gt;
&lt;br /&gt;
iWeb - додаток для створення власних веб-сторінок, сайтів та розміщення їх в мережі інтернет. iWeb дозволяє швидко створити і відредагувати сайт, навіть не володіючи знаннями веб-програмування та сайтобудування. За допомогою шаблонів iWeb можна легко створити свій сайт або блог, розміщувати в інтернеті фотографії, відео ролики і аудіозаписи.&lt;br /&gt;
&lt;br /&gt;
До складу операційної системи Mac OS X входить інтерфейс для віджетів Dashboard, при його запуску на екрані з'являється вікно з набором невеликих програм, які можуть бути корисні користувачеві. У стандартний набір віджетів для Mac OS X включені 14 додатків: адресна книга, калькулятор, календар, словник, телефонна книга, перекладач, конвертер одиниць вимірювання, замітки, гра «п'ятнашки», курс валют, світове час, погода, авіадовідка, акції і контролер iTunes. На сайті компанії Apple існує ще більше сотні різних віджетів, які можна скачати і встановити на комп'ютер. Кількість і зовнішній вигляд віджетів, що входять в стандартну комплектацію може змінюватися в залежності від версії Mac OS X.&lt;br /&gt;
&lt;br /&gt;
В останніх версіях Mac OS X є ще дві нові функції. Одна з них називається батьківський контроль, і дає можливість батькам контролювати своїх дітей. Вона може перевіряти сайти перед завантаженням, для того щоб виключити перегляд небажаних веб-сторінок, записує, які дії проводилися на комп'ютері за час роботи, веде історію зміни файлів, запуску додатків і перегляду сторінок в інтернеті. Батьківський контроль дозволяє встановлювати таймер виключення комп'ютера.&lt;br /&gt;
&lt;br /&gt;
Програмне забезпечення Boot Camp дозволяє завантажувати на комп'ютерах Intel Macintosh операційну систему Windows XP або Windows Vista. Boot Camp виділяє на диску ще один розділ і форматує його під файлову систему Fat32 або NTFS, після чого в цей розділ встановлюється Windows. При цьому для роботи кожної з систем потрібне перезавантаження комп'ютера. При завантаженні Mac OS X розділ диска зарезервований під Windows буде доступний тільки для читання і навпаки.&lt;br /&gt;
&lt;br /&gt;
Boot Camp увійшов до складу Mac OS X, починаючи з версії Mac OS X 10.5 Leopard, раніше йшла його beta версія. Зараз в комплекті Mac OS X надається пакет драйверів до Windows і аплет для панелі управління Windows, за допомогою якого можна встановити початкові налаштування системи. Продажем і розповсюдженням ОС Windows компанія Apple не займається. Boot Camp був створений для того, щоб полегшити перехід всім бажаючим з звичайних комп'ютерів на комп'ютери Macintosh, а так само запускати на них додатки, які ще не реалізовані для операційної системи Mac OS.&lt;br /&gt;
&lt;br /&gt;
== Плюси і мінуси ОС Mac OS == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує вже став стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Література ==&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://www.apple.com/imac/&lt;br /&gt;
&lt;br /&gt;
http://4mac.su/faq/page/3/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macevolutn.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macprogram.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macplusminus.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/index.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macosx.html&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS</id>
		<title>Тема 6. MacOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS"/>
				<updated>2012-11-23T18:13:15Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Програми, що входять в комплект з Mac OS X */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Hero122.png|right]]&lt;br /&gt;
Mac OS (Macintosh Operating System) - сімейство пропрієтарних операційних систем з графічним інтерфейсом. Разом з Mac OS X друга за популярністю у світі операційна система (їх загальна ринкова частка в травні 2011 року становила 5,4%). Розроблена корпорацією Apple (раніше - Apple Computers) для своєї лінійки комп'ютерів Macintosh. Популяризація графічного інтерфейсу користувача в сучасних операційних системах часто вважається заслугою Mac OS. Вона була вперше представлена ​​в 1984 році разом з оригінальним Macintosh 128K.&lt;br /&gt;
&lt;br /&gt;
Apple хотіла, щоб Макінтош представлявся як комп'ютер «для всіх інших». Сам термін «Mac OS» насправді не існував до тих пір, поки не був офіційно використаний в середині 1990-х років. З тих пір термін застосовується до всіх версій операційних систем Макінтоша як зручний спосіб виділення їх в контексті інших операційних систем.&lt;br /&gt;
&lt;br /&gt;
Ранні версії Mac OS були сумісні тільки з Макінтошем, заснованими на процесорах Motorola 68k, такі версії були сумісні з архітектурою PowerPC (PPC). З недавніх пір Mac OS X стала сумісна з архітектурою x86. Але політика фірми Apple така, що вона дозволяє встановлювати систему Mac OS тільки на комп'ютери Apple.&lt;br /&gt;
&lt;br /&gt;
== Історія ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac4l.png|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS вийшла у світ в 1984 році разом з першим персональним комп'ютером Macintosh від компанії Apple. Ідеї, втілені в першій версії системи Mac OS, її автори почерпнули у фірми Xerox. У дослідницькому центрі Xerox PARC в той час уже існував комп'ютер з графічною операційною системою, що тоді було справжнім проривом в еволюційному розвитку операційних систем. Але вони використовували її тільки для власних потреб і не планували комерційного застосування.&lt;br /&gt;
&lt;br /&gt;
Поєднавши вже наявні напрацювання і власні ідеї, програмісти компанії Apple створили Mac OS, першу доступну для всіх графічну операційну систему. У ній вже тоді був використаний всім нам звичний віконний інтерфейс, папки з файлами, і вперше був застосований маніпулятор, названий комп'ютерною мишею, здатний пересувати курсор по всій області екрану. Така концепція цілком відповідала головній ідеї самої компанії Apple, яка пропонувала створити комп'ютер доступний для всіх, як за ціною, так і в технічному плані.&lt;br /&gt;
&lt;br /&gt;
Вже тоді автори Mac OS задалися метою створити таку операційну систему, яка буде зручна і інтуїтивно зрозуміла будь-якому користувачеві, навіть не вивчавшему комп'ютер раніше. До цього часу комп'ютерними програмами та процесами керували за допомогою командного рядка, тому поява наочних значків позначивших папки, кошик (на рус. корзина), комп'ютер та інші елементи стали справжньою сенсацією того часу. Ці значки автори стали називати іконками. Розробники Mac OS визначили основи подальшого розвитку всіх операційних систем, багато з того, що вони придумали в далекому 1984 році, зараз є еталоном для всіх розробників програмного забезпечення.&lt;br /&gt;
&lt;br /&gt;
Перша версія Mac OS займала всього 216 кб дискового простору і працювала навіть при звичайному копіюванні з одного комп'ютера на інший. Але такий продукт був абсолютно не захищений від підробки, тому для того, щоб зберегти свої прибутки розробники всі подальшиі зусилля присвятили не тільки її технічному вдосконаленню, розширенню функціональності і стабільності, але і захисту. Після виходу першої версії Mac OS вийшло ще дев'ять її модифікацій, у яких були введені такі поліпшення як:&lt;br /&gt;
&lt;br /&gt;
- Використання мульти файндера, що дозволяє працювати відразу декільком додаткам одночасно;&lt;br /&gt;
&lt;br /&gt;
- Удосконалення мультимедійних функцій і можливостей роботи в інтернеті;&lt;br /&gt;
&lt;br /&gt;
- Зміна чорно-білих іконок на кольорові, а пізніше поява нового «платинового» інтерфейсу і можливості вибирати тему на свій смак;&lt;br /&gt;
&lt;br /&gt;
- Поява нової файлової системи HFS +;&lt;br /&gt;
&lt;br /&gt;
- Поліпшення функцій Інсталлер;&lt;br /&gt;
&lt;br /&gt;
- Поява програми Sherlock, призначеної для пошуку файлів на локальних дисках і в мережі інтернет;&lt;br /&gt;
&lt;br /&gt;
- Поява багатокористувацького режиму і розмежування прав доступу.&lt;br /&gt;
&lt;br /&gt;
Піком роботи над образом, удосконаленням можливостей і забезпеченням стабільності роботи операційної системи Mac OS того часу стала її дев'ята версія, яку зараз ще можна зустріти на деяких комп'ютерах Macintosh. Її називають класикою Mac OS. Macintosh завойовував популярність, а Mac OS принесла компанії величезний комерційний успіх. Але минав час і керівництво компанії Apple прийняло рішення про глобальні зміни.&lt;br /&gt;
&lt;br /&gt;
У березні 2000 року світ побачила абсолютно нова десята версія Mac OS X, яка не підтримує програмне забезпечення, призначене для Mac OS 9. Для її створення повністю переписали початковий програмний код, а за основу взяли операційну систему NeXTSTEP, розробником якої був один з тих, хто колись заснував компанію Apple, але за збігом обставин покинув її. Розробки фірми NEXT разом з її керівником були куплені компанією Apple, завдяки чому на чолі неї знову постає її засновник Стів Джобс.&lt;br /&gt;
&lt;br /&gt;
Тепер в Mac OS X використовується ядро ​​Mach, стандартні сервіси BSD і всі основні можливості операційної системи Unix. Це дало можливість у багато разів підвищити її функціональність, захищеність і стабільність. Багатозадачність Mac OS X дозволяє працювати декільком процесам відразу, але при цьому не заважати один одному, а при збої в роботі одного з них - не допускати збою всієї системи і переривання роботи інших процесів.&lt;br /&gt;
&lt;br /&gt;
На даний момент Mac OS X має власний красивий, неперевантажений спецефектами і приємний для очей інтерфейс Aqua. Вона проста у використанні і дружелюбна. У ній використовується середовище програмування Core Foundation, що включає в себе такі компоненти як Carbon API, Cocoa API і Java API. Графічна середа представлена ​​використанням таких технологій як QuickTime, Quartz Extreme і OpenGL. До того ж Mac OS X дозволяє використовувати програмне забезпечення, написане на таких мовах програмування, як Сі, C + +, Objective-C, Ruby та Java. Важливим достоїнством Mac OS X є її безпека при роботі в інтернеті, вона непогано захищена від інтернет-атак, та й кількість вірусів здатних її вразити на сьогоднішній день мізерно мало.&lt;br /&gt;
&lt;br /&gt;
Якщо враховувати всі достоїнства Mac OS, то відразу постає питання, чому вона досі не так широко поширена, як її основний конкурент всім відома ОС Windows. Відповідь на нього дуже простий, ОС Mac OS встановлюється тільки на комп'ютери Macintosh компанії Apple, що є принциповим рішенням її керівництва. Це не означає, що Mac OS не сумісна з комп'ютерами інших виробників і не може бути на них встановлена. Встановити систему звичайно можна, але на даний момент це вважається незаконним. Комп'ютери Macintosh мають невеликий модельний ряд і не можуть похвалитися різноманітністю, до того ж вони коштують на кілька разів дорожче звичайних персональних ЕОМ, тому число користувачів Macintosh порівняно менше відносно загального числа комп'ютерних користувачів у всьому світі.&lt;br /&gt;
&lt;br /&gt;
== Операційна система Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:382955.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Еволюція ОС Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13112.jpeg|right]]&lt;br /&gt;
&lt;br /&gt;
Операційна система компанії Apple Mac OS X на даний момент представлена ​​в двох варіантах: версія для робочих станцій і ноутбуків, а також версія для сервера, необхідна для організації роботи локальної мережі підприємства. Після виходу версії Mac OS X 10.0 було випущено ще шість її модифікацій, кожна з яких носить назву тварини з сімейства котячих.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.0 Cheetah (Гепард):''' стала першою оновленою версією операційної системи Mac OS. Вона з'явилася в березні 2001 року і була створена на основі ОС UNIX і сервісів FreeBSD. Нова технологія дозволила підвищити функціональність, надійність і безпека нової операційної системи. Але версія 10.0 Cheetah була нестабільна в роботі, в ній був відсутній ряд функцій, які є в останніх версія системи Mac OS X, тому компанія Apple випустила безкоштовне оновлення.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.1 Puma:''' безкоштовне оновлення розроблене компанією Apple, дозволяло оновити операційну систему Mac OS X 10.0 Cheetah до версії 10.1 (Puma), що дало можливість виправити ряд недоробок, які існували в першій версії і підвищити стабільність роботи. У ній з'явилися такі функції як: персоніфікація, висока якість графіки, швидкий доступ до системних параметрах, розширення спектру мережевих можливостей і периферійних пристроїв, відтворення і запис DVD дисків.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.2 Jaguar:''' в нову версію операційної системи Mac OS X було внесено понад 150 видів різних змін і доповнень, головним з яких стала підтримка апаратного прискорення інтерфейсу користувача з застосуванням технології Quartz Extreme, в результаті цього вся обробка зображень здійснюється процесором відеокарти. У цій версії з'явився мультимедійний центр QuickTime 6, інтернет програма обміну миттєвими повідомленнями iChat, єдина адресна книга, система рукописного введення Inkwell. Поліпшено програми mail, де з'явилася фільтрація спаму, пошук файлів на диску Finder і пошук інформації в інтернеті Sherlock 3.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.3 Panther:''' з'явилася на ринку 24 жовтня 2003 року, в неї була впроваджена технологія шифрування даних FileVault. Подальші оновлення системи привнесли ще ряд змін таких як: виправлені деякі проблеми безпеки, підвищення надійності в роботі із віддаленими файлами у змішаних мережах, поліпшена система файлового обміну та підтримка бездротових мереж, оновлені драйвера до відеокарт, система каталогів і підтримка OpenGL. Внесено зміни і доопрацювання в браузер Safari, поштовий клієнт mail, адресну книгу, Stickies і QuickTime, а також дороблена підтримка програмного забезпечення сторонніх розробників.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.4 Tiger:''' вийшла в квітні 2005 року і включила в себе більше 200 змін і доповнень, які необхідні для більш швидкої і стабільної роботи комп'ютера. Головними новинками цієї версії операційної системи Mac OS X стали унікальна функція швидкого пошуку інформації Spotlight і інтерфейс для віджетів Dashboard, додаток Automator, призначене для автоматизації ряду постійно повторюваних дій, що дозволило виконувати рутинну роботу з допомогою одного натискання.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.5 Leopard:''' з'явилася на ринку 26 жовтня 2007 року, вона включає в себе більше 300 поліпшень і доповнень. Зміни в першу чергу торкнулися ядра операційної системи, в нього тепер інтегрований фреймворк динамічного трасування DTrace, а також є середа Cocoa Bridges для розробки додатків на мовах програмування  Ruby і Python , Scripting Bridge дозволяє автоматизувати Mac-додатки за допомогою програм на Objective-C, Ruby і Python. У систему були також включені Rails, Mongrel і Capistrano. На даний момент Mac OS X 10.5 Leopard визнана повноцінною UNIX системою. Важливою подією стала поява в даній версії програми Boot Camp, за допомогою якої на комп'ютери Macintosh тепер можна встановлювати ОС Windows, в якості другої робочої операційної системи. У новій версії Mac OS X був повністю оновлений Finder і інші корисні додатки, додані такі функції як Stacks, Quick Look, Spaces і програма Time Machine для створення резервних копій системи і даних.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.6 Snow Leopard:''' була представлена ​​в червні 2008 року і включає в себе ряд кардинальних змін. Тепер вона працює тільки на процесорах Intel, використовує в роботі 64-розрядні технології, однаково працює з 64-розрядними та 32-розрядними додатками, займає майже в два рази менше місця на диску, швидше встановлюється, грузиться і працює. Всі стандартні додатки Mac OS X (Finder, Mail, Safari, iCal і iChat та ін) в новій версії були переведені на 64-розрядний код, що значно підвищило їх продуктивність і зробило їх більш стійкими до атак хакерів. Диспетчер Grand Central Dispatch дозволяє на повну використовувати можливості багатоядерних систем і збільшити продуктивність комп'ютера. Додано масштабування інтерфейсу. ОС Snow Leopard використовує технологію Bonjour для обміну файлами, стеки для роботи з вікнами програм, а також в ній оновлена ​​функція Expose, яка стала ще зручнішою і доступнішою. Збільшена швидкість резервного копіювання для передачі даних з метою запобігання збоїв з'єднання в iChat тепер може використовуватися сервер ретрансляції AIM.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac_OSX_Lion_.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X Lion''' (версія 10.7) стала восьмим основним випуском Mac OS X, лінії десктопних та серверних операційних систем компанії Apple для комп'ютерів Macintosh. Lion був публічно представлений на заході Apple «Back to the Mac» 20 жовтня 2010 року і було випущено 20 липня 2011 року. &lt;br /&gt;
&lt;br /&gt;
Деякі нововведення були анонсовані на «Back to the Mac», проте більшість із них буде відкрита ближче до випуску реліза.&lt;br /&gt;
&lt;br /&gt;
Mac App Store — магазин програм, зроблений за зразком App Store для iOS. Як і в iOS, це забезпечить можливість для покупців відкрити програми одним натисканням кнопки встановлення чи швидко оновити всі або обрані встановлені додатки. Mac App Store був випущений для Mac OS X Snow Leopard 6 січня 2011 і був у комплекті з Mac OS X 10.6.6&lt;br /&gt;
Launchpad - панель з іконками додатків, які можна впорядковувати та об'єднувати в папки;&lt;br /&gt;
&lt;br /&gt;
Full-screen apps — нова версія ОС дозволяє працювати з розгорнутими на весь екран додатками, при цьому користувачеві доступна можливість переключати їх жестами (multi-touch жести) на тачпаді, або переходити у звичайний режим перегляду;&lt;br /&gt;
&lt;br /&gt;
Mission Control — перегляд поточних додатків, інтеграції інших Mac OS функцій, включаючи Exposé, Spaces, Dashboard, and Full-screen apps;&lt;br /&gt;
&lt;br /&gt;
Multi-touch жести — за аналогією з iOS підтримка мультитач жестів через сенсорні пристрої Apple: Magic Mouse та Magic Trackpad;&lt;br /&gt;
&lt;br /&gt;
Auto save — автоматичне збереження документів, через що користувачам не доведеться турбуватися про ручне управління документами;&lt;br /&gt;
&lt;br /&gt;
Resume — функція автоматичного відновлення додатків до того стану, в якому вони перебували на момент вимикання або перезавантаження комп'ютера або ж на момент виходу з програми;&lt;br /&gt;
&lt;br /&gt;
Autohiding Scrollbars — смуги прокрутки знаходитимуться в області змісту вікна та приховуватимуться коли прокрутка не відбувається (знову ж за аналогією з iOS).&lt;br /&gt;
В даній версії настільної ОС запозичені деякі ідеї, реалізовані в планшеті iPad.&lt;br /&gt;
24 лютого 2011 року продемонструвавши нову ОС в дії було відзначено наступні нові функції і можливості Mac OS X Lion:&lt;br /&gt;
&lt;br /&gt;
Нова версія Mail 5 з підтримкою автоматичної угруповання пов'язаних повідомлень, поліпшеним механізмом пошуку та інтеграцією з Microsoft Exchange 2010;&lt;br /&gt;
&lt;br /&gt;
AirDrop;— простий механізм копіювання файлів між різними пристроями Mac за допомогою бездротового інтерфейсу, який не вимагає настройки;&lt;br /&gt;
&lt;br /&gt;
Versions — функція автоматичного збереження різних версій документа, що дозволяє відслідковувати процес внесення змін в документи і повертатися до їх попереднього стану;&lt;br /&gt;
FileVault — засоби шифрування даних на локальних і зовнішніх накопичувачах;&lt;br /&gt;
&lt;br /&gt;
Mac OS X Lion Server має підтримку управління пристроями з операційною системою Mac OS X Lion, а також портативними пристроями iPhone, iPad і iPod touch.&lt;br /&gt;
&lt;br /&gt;
'''Серверні функції'''&lt;br /&gt;
&lt;br /&gt;
Wiki Server 3 — програмне забезпечення, що дозволяє співпрацювати невеликим групам, розповсюджуючи текстову інформацію, файли та подкасти.&lt;br /&gt;
File Sharing for iPad — дозволяє використовуючи протокол WebDAV та Wi-Fi передавати на iPad та iPad2 деякі типи файлів, зокрема файли Pages, Keynote та Numbers.&lt;br /&gt;
Profile Manager —дозволяє керувати профілями та налаштуваннями iPhone, iPod touch, iPad та систем на базі Mac OS X Lion та автоматично оновлювати дані за допомогою Apple Push Notification.&lt;br /&gt;
&lt;br /&gt;
== Програми, що входять в комплект з Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13033.jpg|right|]]&lt;br /&gt;
&lt;br /&gt;
В основний комплект з установочного дистрибутивом Mac OS X входить пакет простих і зручних додатків, які необхідні для повсякденної роботи на комп'ютері. При покупці операційної системи не доведеться піклуватися про пошук програмного забезпечення для перегляду картинок, відеофайлів, прослуховування музики і запису дисків, до того в цей комплект входять програми для роботи в інтернеті, створення веб-сайтів, запису відеороликів і музичних композицій. Як і інші розробки компанії Apple цей пакет програм відрізняється зручністю використання, інтуїтивно зрозумілим інтерфейсом і функціональністю.&lt;br /&gt;
&lt;br /&gt;
До стандартних додатків операційної системи Mac OS X можна віднести такі програми як:&lt;br /&gt;
&lt;br /&gt;
'''Адресна книга''' - дозволяє створити базу контактних даних друзів, знайомих або клієнтів по роботі. У неї можна заносити імена, адреси, телефони, адреси електронної пошти і сайтів, а після цього здійснювати глобальний пошук по всій базі. Адресна книга може стати зручним інструментом у роботі для ділових людей.&lt;br /&gt;
&lt;br /&gt;
'''iCal''' - зручний і багатофункціональний календар, в якому не тільки можна подивитися потрібну дату, розпланувати свій робочий графік, але і створювати нагадування про важливі події, робити позначки.&lt;br /&gt;
&lt;br /&gt;
'''Finder''' - зручний файловий менеджер, дозволяє з легкістю працювати з файлами на жорсткому диску. Finder дає можливість копіювати, видаляти і переміщати файли, здійснювати пошук інформації на диску, а також переглядати зображення у вигляді тривимірного «потоку».&lt;br /&gt;
&lt;br /&gt;
'''Preview''' - простенький переглядач зображень, дозволяє переглянути не тільки файли картинок, але файли у форматі PDF.&lt;br /&gt;
&lt;br /&gt;
'''Spotlight''' - вбудований пошук інформації на комп'ютері та в локальній мережі. Spotlight дає можливість швидко знайти не тільки необхідний документ або файл по його назві, розширенню або часом створення, але й по його вмісту. Рядок пошуку є частиною панелі інструментів у вікон Finder та інших програм.&lt;br /&gt;
&lt;br /&gt;
'''Spaces''' - утиліта, що дозволяє упорядкувати і полегшити роботу з вікнами додатків. Вона стане незамінним інструментом для тих, хто працює з великою кількістю програм одночасно. Spaces, дозволяє не тільки створювати кілька віртуальних робочих столів, але й одночасно відображати на екрані їх мініатюри, а також за допомогою мишки перетягувати документи з одного столу на інший.&lt;br /&gt;
&lt;br /&gt;
'''Time Machine''' - корисна утиліта, що дозволяє створювати резервні копії операційної системи і іншої інформації, що міститься на комп'ютері. У разі збоїв роботу комп'ютера буде дуже просто відновити за допомогою так званого «знімка» системи, який за допомогою Time Machine записується на зовнішній вінчестер. Програма копіює всі зміни в папках, файлах і документах кожну годину, а в разі браку місця на диску, звільняє його допомогою видалення самих старих копій.&lt;br /&gt;
&lt;br /&gt;
'''Automator''' - утиліта, необхідна для тих, хто часто виконує однотипні дії з файлами. За допомогою automator навіть людина без знань програмування, за допомогою макросів, створюваних на основі стандартних функцій додатків може задати послідовність дій, після чого рутинну щоденну роботу можна буде робити за допомогою всього одного натискання.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з мультимедійними даними&lt;br /&gt;
&lt;br /&gt;
'''iPhoto''' - програма, що дозволяє створювати особистий фотоархів. За допомогою iPhoto цифрові фотографії можна імпортувати з фотоапарата в архів, створювати альбоми і події, редагувати, експортувати в інтернет і записувати на диски. iPhoto допоможе створити з фотографій календарі та листівки, зберегти їх у форматі PDF або роздрукувати на принтері, а також робити презентації для перегляду цілих галерей фотографій з використанням спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
'''iTunes''' - це медіаплеєр для роботи з музичними і відео файлами, за допомогою нього можна систематизувати медіадані на вашому комп'ютері, слухати музику і дивитися фільми, конвертувати різні музичні формати і музику з дисків, працювати з iPod і iPhone і плеєром Apple TV. В on-line режимі браузер iTunes дозволяє купувати музику в інтернет магазині iTunes Store, а також слухати будь радіостанції.&lt;br /&gt;
&lt;br /&gt;
'''iMovie''' - програма для створення відеороликів. За допомогою iMovie можна імпортувати відео дані з цифрових відеокамер, різати відеофайли, компонувати відеодоріжки звуком, додавати фотографії та різні спецефекти, після чого експортувати отриманий запис в різні відеоформати.&lt;br /&gt;
&lt;br /&gt;
'''Garage Band''' - програма для тих, хто захоплюється записом власних музичних композицій. Garage Band дозволяє працювати відразу з декількома звуковими доріжками, додавати семпли, що зберігаються в банку звуків, або захоплювати сигнали з електроінструментів допомогою MIDI-перехідника, записувати голос або звуки за допомогою мікрофона. В останніх версіях Garage Band до звуку можна додавати відео.&lt;br /&gt;
&lt;br /&gt;
'''iDVD''' - програма для запису дисків, за допомогою неї можна записувати слайд-шоу, відео фільми на DVD диски і створювати власне меню з використанням різних спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з інтернет&lt;br /&gt;
&lt;br /&gt;
[[Файл:133122.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Safari''' - веб-браузер для роботи в мережі інтернет, став входити в комплект з ОС починаючи з версії Mac OS X 10.3 Panther. Safari дозволяє відкривати декілька сторінок в одному вікні і масштабувати розмір текстового поля, має вбудований пошук і захист від злому, вірусів і мережевих атак. Safari підтримує автозаповнення форм, режим приватного перегляду веб-сторінок, при якому не ведеться історія відвідувань, містить перевірку тексту і вбудований RSS-агрегатор.&lt;br /&gt;
&lt;br /&gt;
'''Mail''' - поштовий клієнт, який підтримує протоколи POP, IMAP і Exchange. Mail дозволяє отримувати листи, контролювати фільтрацію спаму, сортувати список кореспонденції по значущості, заносити важливі дати з листів в календар, видаляти одне або декілька листів одразу, пересилати листи або відправляти приховані копії. У програмі mail міститься 30 шаблонів, дозволяють красиво оформити лист або створити святкову листівку.&lt;br /&gt;
&lt;br /&gt;
'''iChat''' - чат-клієнт для миттєвого обміну повідомленнями з підтримкою веб-камери, дозволяє не тільки влаштовувати відеоконференції і аудіоконференції з одним або декількома співрозмовниками, спілкуватися з друзями в текстовій формі, але й показувати їм документи, фото та відео файли за допомогою функції iChat Theater . З дозволу співрозмовника iChat надає можливість записувати все спілкування.&lt;br /&gt;
&lt;br /&gt;
iWeb - додаток для створення власних веб-сторінок, сайтів та розміщення їх в мережі інтернет. iWeb дозволяє швидко створити і відредагувати сайт, навіть не володіючи знаннями веб-програмування та сайтобудування. За допомогою шаблонів iWeb можна легко створити свій сайт або блог, розміщувати в інтернеті фотографії, відео ролики і аудіозаписи.&lt;br /&gt;
&lt;br /&gt;
До складу операційної системи Mac OS X входить інтерфейс для віджетів Dashboard, при його запуску на екрані з'являється вікно з набором невеликих програм, які можуть бути корисні користувачеві. У стандартний набір віджетів для Mac OS X включені 14 додатків: адресна книга, калькулятор, календар, словник, телефонна книга, перекладач, конвертер одиниць вимірювання, замітки, гра «п'ятнашки», курс валют, світове час, погода, авіадовідка, акції і контролер iTunes. На сайті компанії Apple існує ще більше сотні різних віджетів, які можна скачати і встановити на комп'ютер. Кількість і зовнішній вигляд віджетів, що входять в стандартну комплектацію може змінюватися в залежності від версії Mac OS X.&lt;br /&gt;
&lt;br /&gt;
В останніх версіях Mac OS X є ще дві нові функції. Одна з них називається батьківський контроль, і дає можливість батькам контролювати своїх дітей. Вона може перевіряти сайти перед завантаженням, для того щоб виключити перегляд небажаних веб-сторінок, записує, які дії проводилися на комп'ютері за час роботи, веде історію зміни файлів, запуску додатків і перегляду сторінок в інтернеті. Батьківський контроль дозволяє встановлювати таймер виключення комп'ютера.&lt;br /&gt;
&lt;br /&gt;
Програмне забезпечення Boot Camp дозволяє завантажувати на комп'ютерах Intel Macintosh операційну систему Windows XP або Windows Vista. Boot Camp виділяє на диску ще один розділ і форматує його під файлову систему Fat32 або NTFS, після чого в цей розділ встановлюється Windows. При цьому для роботи кожної з систем потрібне перезавантаження комп'ютера. При завантаженні Mac OS X розділ диска зарезервований під Windows буде доступний тільки для читання і навпаки.&lt;br /&gt;
&lt;br /&gt;
Boot Camp увійшов до складу Mac OS X, починаючи з версії Mac OS X 10.5 Leopard, раніше йшла його beta версія. Зараз в комплекті Mac OS X надається пакет драйверів до Windows і аплет для панелі управління Windows, за допомогою якого можна встановити початкові налаштування системи. Продажем і розповсюдженням ОС Windows компанія Apple не займається. Boot Camp був створений для того, щоб полегшити перехід всім бажаючим з звичайних комп'ютерів на комп'ютери Macintosh, а так само запускати на них додатки, які ще не реалізовані для операційної системи Mac OS.&lt;br /&gt;
&lt;br /&gt;
== Плюси і мінуси ОС Mac OS == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує вже став стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Література ==&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://www.apple.com/imac/&lt;br /&gt;
&lt;br /&gt;
http://4mac.su/faq/page/3/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macevolutn.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macprogram.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macplusminus.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/index.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macosx.html&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS</id>
		<title>Тема 6. MacOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS"/>
				<updated>2012-11-23T18:11:51Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Програми, що входять в комплект з Mac OS X */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Hero122.png|right]]&lt;br /&gt;
Mac OS (Macintosh Operating System) - сімейство пропрієтарних операційних систем з графічним інтерфейсом. Разом з Mac OS X друга за популярністю у світі операційна система (їх загальна ринкова частка в травні 2011 року становила 5,4%). Розроблена корпорацією Apple (раніше - Apple Computers) для своєї лінійки комп'ютерів Macintosh. Популяризація графічного інтерфейсу користувача в сучасних операційних системах часто вважається заслугою Mac OS. Вона була вперше представлена ​​в 1984 році разом з оригінальним Macintosh 128K.&lt;br /&gt;
&lt;br /&gt;
Apple хотіла, щоб Макінтош представлявся як комп'ютер «для всіх інших». Сам термін «Mac OS» насправді не існував до тих пір, поки не був офіційно використаний в середині 1990-х років. З тих пір термін застосовується до всіх версій операційних систем Макінтоша як зручний спосіб виділення їх в контексті інших операційних систем.&lt;br /&gt;
&lt;br /&gt;
Ранні версії Mac OS були сумісні тільки з Макінтошем, заснованими на процесорах Motorola 68k, такі версії були сумісні з архітектурою PowerPC (PPC). З недавніх пір Mac OS X стала сумісна з архітектурою x86. Але політика фірми Apple така, що вона дозволяє встановлювати систему Mac OS тільки на комп'ютери Apple.&lt;br /&gt;
&lt;br /&gt;
== Історія ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac4l.png|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS вийшла у світ в 1984 році разом з першим персональним комп'ютером Macintosh від компанії Apple. Ідеї, втілені в першій версії системи Mac OS, її автори почерпнули у фірми Xerox. У дослідницькому центрі Xerox PARC в той час уже існував комп'ютер з графічною операційною системою, що тоді було справжнім проривом в еволюційному розвитку операційних систем. Але вони використовували її тільки для власних потреб і не планували комерційного застосування.&lt;br /&gt;
&lt;br /&gt;
Поєднавши вже наявні напрацювання і власні ідеї, програмісти компанії Apple створили Mac OS, першу доступну для всіх графічну операційну систему. У ній вже тоді був використаний всім нам звичний віконний інтерфейс, папки з файлами, і вперше був застосований маніпулятор, названий комп'ютерною мишею, здатний пересувати курсор по всій області екрану. Така концепція цілком відповідала головній ідеї самої компанії Apple, яка пропонувала створити комп'ютер доступний для всіх, як за ціною, так і в технічному плані.&lt;br /&gt;
&lt;br /&gt;
Вже тоді автори Mac OS задалися метою створити таку операційну систему, яка буде зручна і інтуїтивно зрозуміла будь-якому користувачеві, навіть не вивчавшему комп'ютер раніше. До цього часу комп'ютерними програмами та процесами керували за допомогою командного рядка, тому поява наочних значків позначивших папки, кошик (на рус. корзина), комп'ютер та інші елементи стали справжньою сенсацією того часу. Ці значки автори стали називати іконками. Розробники Mac OS визначили основи подальшого розвитку всіх операційних систем, багато з того, що вони придумали в далекому 1984 році, зараз є еталоном для всіх розробників програмного забезпечення.&lt;br /&gt;
&lt;br /&gt;
Перша версія Mac OS займала всього 216 кб дискового простору і працювала навіть при звичайному копіюванні з одного комп'ютера на інший. Але такий продукт був абсолютно не захищений від підробки, тому для того, щоб зберегти свої прибутки розробники всі подальшиі зусилля присвятили не тільки її технічному вдосконаленню, розширенню функціональності і стабільності, але і захисту. Після виходу першої версії Mac OS вийшло ще дев'ять її модифікацій, у яких були введені такі поліпшення як:&lt;br /&gt;
&lt;br /&gt;
- Використання мульти файндера, що дозволяє працювати відразу декільком додаткам одночасно;&lt;br /&gt;
&lt;br /&gt;
- Удосконалення мультимедійних функцій і можливостей роботи в інтернеті;&lt;br /&gt;
&lt;br /&gt;
- Зміна чорно-білих іконок на кольорові, а пізніше поява нового «платинового» інтерфейсу і можливості вибирати тему на свій смак;&lt;br /&gt;
&lt;br /&gt;
- Поява нової файлової системи HFS +;&lt;br /&gt;
&lt;br /&gt;
- Поліпшення функцій Інсталлер;&lt;br /&gt;
&lt;br /&gt;
- Поява програми Sherlock, призначеної для пошуку файлів на локальних дисках і в мережі інтернет;&lt;br /&gt;
&lt;br /&gt;
- Поява багатокористувацького режиму і розмежування прав доступу.&lt;br /&gt;
&lt;br /&gt;
Піком роботи над образом, удосконаленням можливостей і забезпеченням стабільності роботи операційної системи Mac OS того часу стала її дев'ята версія, яку зараз ще можна зустріти на деяких комп'ютерах Macintosh. Її називають класикою Mac OS. Macintosh завойовував популярність, а Mac OS принесла компанії величезний комерційний успіх. Але минав час і керівництво компанії Apple прийняло рішення про глобальні зміни.&lt;br /&gt;
&lt;br /&gt;
У березні 2000 року світ побачила абсолютно нова десята версія Mac OS X, яка не підтримує програмне забезпечення, призначене для Mac OS 9. Для її створення повністю переписали початковий програмний код, а за основу взяли операційну систему NeXTSTEP, розробником якої був один з тих, хто колись заснував компанію Apple, але за збігом обставин покинув її. Розробки фірми NEXT разом з її керівником були куплені компанією Apple, завдяки чому на чолі неї знову постає її засновник Стів Джобс.&lt;br /&gt;
&lt;br /&gt;
Тепер в Mac OS X використовується ядро ​​Mach, стандартні сервіси BSD і всі основні можливості операційної системи Unix. Це дало можливість у багато разів підвищити її функціональність, захищеність і стабільність. Багатозадачність Mac OS X дозволяє працювати декільком процесам відразу, але при цьому не заважати один одному, а при збої в роботі одного з них - не допускати збою всієї системи і переривання роботи інших процесів.&lt;br /&gt;
&lt;br /&gt;
На даний момент Mac OS X має власний красивий, неперевантажений спецефектами і приємний для очей інтерфейс Aqua. Вона проста у використанні і дружелюбна. У ній використовується середовище програмування Core Foundation, що включає в себе такі компоненти як Carbon API, Cocoa API і Java API. Графічна середа представлена ​​використанням таких технологій як QuickTime, Quartz Extreme і OpenGL. До того ж Mac OS X дозволяє використовувати програмне забезпечення, написане на таких мовах програмування, як Сі, C + +, Objective-C, Ruby та Java. Важливим достоїнством Mac OS X є її безпека при роботі в інтернеті, вона непогано захищена від інтернет-атак, та й кількість вірусів здатних її вразити на сьогоднішній день мізерно мало.&lt;br /&gt;
&lt;br /&gt;
Якщо враховувати всі достоїнства Mac OS, то відразу постає питання, чому вона досі не так широко поширена, як її основний конкурент всім відома ОС Windows. Відповідь на нього дуже простий, ОС Mac OS встановлюється тільки на комп'ютери Macintosh компанії Apple, що є принциповим рішенням її керівництва. Це не означає, що Mac OS не сумісна з комп'ютерами інших виробників і не може бути на них встановлена. Встановити систему звичайно можна, але на даний момент це вважається незаконним. Комп'ютери Macintosh мають невеликий модельний ряд і не можуть похвалитися різноманітністю, до того ж вони коштують на кілька разів дорожче звичайних персональних ЕОМ, тому число користувачів Macintosh порівняно менше відносно загального числа комп'ютерних користувачів у всьому світі.&lt;br /&gt;
&lt;br /&gt;
== Операційна система Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:382955.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Еволюція ОС Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13112.jpeg|right]]&lt;br /&gt;
&lt;br /&gt;
Операційна система компанії Apple Mac OS X на даний момент представлена ​​в двох варіантах: версія для робочих станцій і ноутбуків, а також версія для сервера, необхідна для організації роботи локальної мережі підприємства. Після виходу версії Mac OS X 10.0 було випущено ще шість її модифікацій, кожна з яких носить назву тварини з сімейства котячих.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.0 Cheetah (Гепард):''' стала першою оновленою версією операційної системи Mac OS. Вона з'явилася в березні 2001 року і була створена на основі ОС UNIX і сервісів FreeBSD. Нова технологія дозволила підвищити функціональність, надійність і безпека нової операційної системи. Але версія 10.0 Cheetah була нестабільна в роботі, в ній був відсутній ряд функцій, які є в останніх версія системи Mac OS X, тому компанія Apple випустила безкоштовне оновлення.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.1 Puma:''' безкоштовне оновлення розроблене компанією Apple, дозволяло оновити операційну систему Mac OS X 10.0 Cheetah до версії 10.1 (Puma), що дало можливість виправити ряд недоробок, які існували в першій версії і підвищити стабільність роботи. У ній з'явилися такі функції як: персоніфікація, висока якість графіки, швидкий доступ до системних параметрах, розширення спектру мережевих можливостей і периферійних пристроїв, відтворення і запис DVD дисків.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.2 Jaguar:''' в нову версію операційної системи Mac OS X було внесено понад 150 видів різних змін і доповнень, головним з яких стала підтримка апаратного прискорення інтерфейсу користувача з застосуванням технології Quartz Extreme, в результаті цього вся обробка зображень здійснюється процесором відеокарти. У цій версії з'явився мультимедійний центр QuickTime 6, інтернет програма обміну миттєвими повідомленнями iChat, єдина адресна книга, система рукописного введення Inkwell. Поліпшено програми mail, де з'явилася фільтрація спаму, пошук файлів на диску Finder і пошук інформації в інтернеті Sherlock 3.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.3 Panther:''' з'явилася на ринку 24 жовтня 2003 року, в неї була впроваджена технологія шифрування даних FileVault. Подальші оновлення системи привнесли ще ряд змін таких як: виправлені деякі проблеми безпеки, підвищення надійності в роботі із віддаленими файлами у змішаних мережах, поліпшена система файлового обміну та підтримка бездротових мереж, оновлені драйвера до відеокарт, система каталогів і підтримка OpenGL. Внесено зміни і доопрацювання в браузер Safari, поштовий клієнт mail, адресну книгу, Stickies і QuickTime, а також дороблена підтримка програмного забезпечення сторонніх розробників.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.4 Tiger:''' вийшла в квітні 2005 року і включила в себе більше 200 змін і доповнень, які необхідні для більш швидкої і стабільної роботи комп'ютера. Головними новинками цієї версії операційної системи Mac OS X стали унікальна функція швидкого пошуку інформації Spotlight і інтерфейс для віджетів Dashboard, додаток Automator, призначене для автоматизації ряду постійно повторюваних дій, що дозволило виконувати рутинну роботу з допомогою одного натискання.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.5 Leopard:''' з'явилася на ринку 26 жовтня 2007 року, вона включає в себе більше 300 поліпшень і доповнень. Зміни в першу чергу торкнулися ядра операційної системи, в нього тепер інтегрований фреймворк динамічного трасування DTrace, а також є середа Cocoa Bridges для розробки додатків на мовах програмування  Ruby і Python , Scripting Bridge дозволяє автоматизувати Mac-додатки за допомогою програм на Objective-C, Ruby і Python. У систему були також включені Rails, Mongrel і Capistrano. На даний момент Mac OS X 10.5 Leopard визнана повноцінною UNIX системою. Важливою подією стала поява в даній версії програми Boot Camp, за допомогою якої на комп'ютери Macintosh тепер можна встановлювати ОС Windows, в якості другої робочої операційної системи. У новій версії Mac OS X був повністю оновлений Finder і інші корисні додатки, додані такі функції як Stacks, Quick Look, Spaces і програма Time Machine для створення резервних копій системи і даних.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.6 Snow Leopard:''' була представлена ​​в червні 2008 року і включає в себе ряд кардинальних змін. Тепер вона працює тільки на процесорах Intel, використовує в роботі 64-розрядні технології, однаково працює з 64-розрядними та 32-розрядними додатками, займає майже в два рази менше місця на диску, швидше встановлюється, грузиться і працює. Всі стандартні додатки Mac OS X (Finder, Mail, Safari, iCal і iChat та ін) в новій версії були переведені на 64-розрядний код, що значно підвищило їх продуктивність і зробило їх більш стійкими до атак хакерів. Диспетчер Grand Central Dispatch дозволяє на повну використовувати можливості багатоядерних систем і збільшити продуктивність комп'ютера. Додано масштабування інтерфейсу. ОС Snow Leopard використовує технологію Bonjour для обміну файлами, стеки для роботи з вікнами програм, а також в ній оновлена ​​функція Expose, яка стала ще зручнішою і доступнішою. Збільшена швидкість резервного копіювання для передачі даних з метою запобігання збоїв з'єднання в iChat тепер може використовуватися сервер ретрансляції AIM.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac_OSX_Lion_.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X Lion''' (версія 10.7) стала восьмим основним випуском Mac OS X, лінії десктопних та серверних операційних систем компанії Apple для комп'ютерів Macintosh. Lion був публічно представлений на заході Apple «Back to the Mac» 20 жовтня 2010 року і було випущено 20 липня 2011 року. &lt;br /&gt;
&lt;br /&gt;
Деякі нововведення були анонсовані на «Back to the Mac», проте більшість із них буде відкрита ближче до випуску реліза.&lt;br /&gt;
&lt;br /&gt;
Mac App Store — магазин програм, зроблений за зразком App Store для iOS. Як і в iOS, це забезпечить можливість для покупців відкрити програми одним натисканням кнопки встановлення чи швидко оновити всі або обрані встановлені додатки. Mac App Store був випущений для Mac OS X Snow Leopard 6 січня 2011 і був у комплекті з Mac OS X 10.6.6&lt;br /&gt;
Launchpad - панель з іконками додатків, які можна впорядковувати та об'єднувати в папки;&lt;br /&gt;
&lt;br /&gt;
Full-screen apps — нова версія ОС дозволяє працювати з розгорнутими на весь екран додатками, при цьому користувачеві доступна можливість переключати їх жестами (multi-touch жести) на тачпаді, або переходити у звичайний режим перегляду;&lt;br /&gt;
&lt;br /&gt;
Mission Control — перегляд поточних додатків, інтеграції інших Mac OS функцій, включаючи Exposé, Spaces, Dashboard, and Full-screen apps;&lt;br /&gt;
&lt;br /&gt;
Multi-touch жести — за аналогією з iOS підтримка мультитач жестів через сенсорні пристрої Apple: Magic Mouse та Magic Trackpad;&lt;br /&gt;
&lt;br /&gt;
Auto save — автоматичне збереження документів, через що користувачам не доведеться турбуватися про ручне управління документами;&lt;br /&gt;
&lt;br /&gt;
Resume — функція автоматичного відновлення додатків до того стану, в якому вони перебували на момент вимикання або перезавантаження комп'ютера або ж на момент виходу з програми;&lt;br /&gt;
&lt;br /&gt;
Autohiding Scrollbars — смуги прокрутки знаходитимуться в області змісту вікна та приховуватимуться коли прокрутка не відбувається (знову ж за аналогією з iOS).&lt;br /&gt;
В даній версії настільної ОС запозичені деякі ідеї, реалізовані в планшеті iPad.&lt;br /&gt;
24 лютого 2011 року продемонструвавши нову ОС в дії було відзначено наступні нові функції і можливості Mac OS X Lion:&lt;br /&gt;
&lt;br /&gt;
Нова версія Mail 5 з підтримкою автоматичної угруповання пов'язаних повідомлень, поліпшеним механізмом пошуку та інтеграцією з Microsoft Exchange 2010;&lt;br /&gt;
&lt;br /&gt;
AirDrop;— простий механізм копіювання файлів між різними пристроями Mac за допомогою бездротового інтерфейсу, який не вимагає настройки;&lt;br /&gt;
&lt;br /&gt;
Versions — функція автоматичного збереження різних версій документа, що дозволяє відслідковувати процес внесення змін в документи і повертатися до їх попереднього стану;&lt;br /&gt;
FileVault — засоби шифрування даних на локальних і зовнішніх накопичувачах;&lt;br /&gt;
&lt;br /&gt;
Mac OS X Lion Server має підтримку управління пристроями з операційною системою Mac OS X Lion, а також портативними пристроями iPhone, iPad і iPod touch.&lt;br /&gt;
&lt;br /&gt;
'''Серверні функції'''&lt;br /&gt;
&lt;br /&gt;
Wiki Server 3 — програмне забезпечення, що дозволяє співпрацювати невеликим групам, розповсюджуючи текстову інформацію, файли та подкасти.&lt;br /&gt;
File Sharing for iPad — дозволяє використовуючи протокол WebDAV та Wi-Fi передавати на iPad та iPad2 деякі типи файлів, зокрема файли Pages, Keynote та Numbers.&lt;br /&gt;
Profile Manager —дозволяє керувати профілями та налаштуваннями iPhone, iPod touch, iPad та систем на базі Mac OS X Lion та автоматично оновлювати дані за допомогою Apple Push Notification.&lt;br /&gt;
&lt;br /&gt;
== Програми, що входять в комплект з Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13033.jpg|right|]]&lt;br /&gt;
&lt;br /&gt;
В основний комплект з установочного дистрибутивом Mac OS X входить пакет простих і зручних додатків, які необхідні для повсякденної роботи на комп'ютері. При покупці операційної системи не доведеться піклуватися про пошук програмного забезпечення для перегляду картинок, відеофайлів, прослуховування музики і запису дисків, до того в цей комплект входять програми для роботи в інтернеті, створення веб-сайтів, запису відеороликів і музичних композицій. Як і інші розробки компанії Apple цей пакет програм відрізняється зручністю використання, інтуїтивно зрозумілим інтерфейсом і функціональністю.&lt;br /&gt;
&lt;br /&gt;
До стандартних додатків операційної системи Mac OS X можна віднести такі програми як:&lt;br /&gt;
&lt;br /&gt;
Корисні програми на кожен день&lt;br /&gt;
&lt;br /&gt;
'''Адресна книга''' - дозволяє створити базу контактних даних друзів, знайомих або клієнтів по роботі. У неї можна заносити імена, адреси, телефони, адреси електронної пошти і сайтів, а після цього здійснювати глобальний пошук по всій базі. Адресна книга може стати зручним інструментом у роботі для ділових людей.&lt;br /&gt;
&lt;br /&gt;
'''iCal''' - зручний і багатофункціональний календар, в якому не тільки можна подивитися потрібну дату, розпланувати свій робочий графік, але і створювати нагадування про важливі події, робити позначки.&lt;br /&gt;
&lt;br /&gt;
'''Finder''' - зручний файловий менеджер, дозволяє з легкістю працювати з файлами на жорсткому диску. Finder дає можливість копіювати, видаляти і переміщати файли, здійснювати пошук інформації на диску, а також переглядати зображення у вигляді тривимірного «потоку».&lt;br /&gt;
&lt;br /&gt;
'''Preview''' - простенький переглядач зображень, дозволяє переглянути не тільки файли картинок, але файли у форматі PDF.&lt;br /&gt;
&lt;br /&gt;
'''Spotlight''' - вбудований пошук інформації на комп'ютері та в локальній мережі. Spotlight дає можливість швидко знайти не тільки необхідний документ або файл по його назві, розширенню або часом створення, але й по його вмісту. Рядок пошуку є частиною панелі інструментів у вікон Finder та інших програм.&lt;br /&gt;
&lt;br /&gt;
'''Spaces''' - утиліта, що дозволяє упорядкувати і полегшити роботу з вікнами додатків. Вона стане незамінним інструментом для тих, хто працює з великою кількістю програм одночасно. Spaces, дозволяє не тільки створювати кілька віртуальних робочих столів, але й одночасно відображати на екрані їх мініатюри, а також за допомогою мишки перетягувати документи з одного столу на інший.&lt;br /&gt;
&lt;br /&gt;
'''Time Machine''' - корисна утиліта, що дозволяє створювати резервні копії операційної системи і іншої інформації, що міститься на комп'ютері. У разі збоїв роботу комп'ютера буде дуже просто відновити за допомогою так званого «знімка» системи, який за допомогою Time Machine записується на зовнішній вінчестер. Програма копіює всі зміни в папках, файлах і документах кожну годину, а в разі браку місця на диску, звільняє його допомогою видалення самих старих копій.&lt;br /&gt;
&lt;br /&gt;
'''Automator''' - утиліта, необхідна для тих, хто часто виконує однотипні дії з файлами. За допомогою automator навіть людина без знань програмування, за допомогою макросів, створюваних на основі стандартних функцій додатків може задати послідовність дій, після чого рутинну щоденну роботу можна буде робити за допомогою всього одного натискання.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з мультимедійними даними&lt;br /&gt;
&lt;br /&gt;
'''iPhoto''' - програма, що дозволяє створювати особистий фотоархів. За допомогою iPhoto цифрові фотографії можна імпортувати з фотоапарата в архів, створювати альбоми і події, редагувати, експортувати в інтернет і записувати на диски. iPhoto допоможе створити з фотографій календарі та листівки, зберегти їх у форматі PDF або роздрукувати на принтері, а також робити презентації для перегляду цілих галерей фотографій з використанням спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
'''iTunes''' - це медіаплеєр для роботи з музичними і відео файлами, за допомогою нього можна систематизувати медіадані на вашому комп'ютері, слухати музику і дивитися фільми, конвертувати різні музичні формати і музику з дисків, працювати з iPod і iPhone і плеєром Apple TV. В on-line режимі браузер iTunes дозволяє купувати музику в інтернет магазині iTunes Store, а також слухати будь радіостанції.&lt;br /&gt;
&lt;br /&gt;
'''iMovie''' - програма для створення відеороликів. За допомогою iMovie можна імпортувати відео дані з цифрових відеокамер, різати відеофайли, компонувати відеодоріжки звуком, додавати фотографії та різні спецефекти, після чого експортувати отриманий запис в різні відеоформати.&lt;br /&gt;
&lt;br /&gt;
'''Garage Band''' - програма для тих, хто захоплюється записом власних музичних композицій. Garage Band дозволяє працювати відразу з декількома звуковими доріжками, додавати семпли, що зберігаються в банку звуків, або захоплювати сигнали з електроінструментів допомогою MIDI-перехідника, записувати голос або звуки за допомогою мікрофона. В останніх версіях Garage Band до звуку можна додавати відео.&lt;br /&gt;
&lt;br /&gt;
'''iDVD''' - програма для запису дисків, за допомогою неї можна записувати слайд-шоу, відео фільми на DVD диски і створювати власне меню з використанням різних спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з інтернет&lt;br /&gt;
&lt;br /&gt;
[[Файл:133122.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Safari''' - веб-браузер для роботи в мережі інтернет, став входити в комплект з ОС починаючи з версії Mac OS X 10.3 Panther. Safari дозволяє відкривати декілька сторінок в одному вікні і масштабувати розмір текстового поля, має вбудований пошук і захист від злому, вірусів і мережевих атак. Safari підтримує автозаповнення форм, режим приватного перегляду веб-сторінок, при якому не ведеться історія відвідувань, містить перевірку тексту і вбудований RSS-агрегатор.&lt;br /&gt;
&lt;br /&gt;
'''Mail''' - поштовий клієнт, який підтримує протоколи POP, IMAP і Exchange. Mail дозволяє отримувати листи, контролювати фільтрацію спаму, сортувати список кореспонденції по значущості, заносити важливі дати з листів в календар, видаляти одне або декілька листів одразу, пересилати листи або відправляти приховані копії. У програмі mail міститься 30 шаблонів, дозволяють красиво оформити лист або створити святкову листівку.&lt;br /&gt;
&lt;br /&gt;
'''iChat''' - чат-клієнт для миттєвого обміну повідомленнями з підтримкою веб-камери, дозволяє не тільки влаштовувати відеоконференції і аудіоконференції з одним або декількома співрозмовниками, спілкуватися з друзями в текстовій формі, але й показувати їм документи, фото та відео файли за допомогою функції iChat Theater . З дозволу співрозмовника iChat надає можливість записувати все спілкування.&lt;br /&gt;
&lt;br /&gt;
iWeb - додаток для створення власних веб-сторінок, сайтів та розміщення їх в мережі інтернет. iWeb дозволяє швидко створити і відредагувати сайт, навіть не володіючи знаннями веб-програмування та сайтобудування. За допомогою шаблонів iWeb можна легко створити свій сайт або блог, розміщувати в інтернеті фотографії, відео ролики і аудіозаписи.&lt;br /&gt;
&lt;br /&gt;
До складу операційної системи Mac OS X входить інтерфейс для віджетів Dashboard, при його запуску на екрані з'являється вікно з набором невеликих програм, які можуть бути корисні користувачеві. У стандартний набір віджетів для Mac OS X включені 14 додатків: адресна книга, калькулятор, календар, словник, телефонна книга, перекладач, конвертер одиниць вимірювання, замітки, гра «п'ятнашки», курс валют, світове час, погода, авіадовідка, акції і контролер iTunes. На сайті компанії Apple існує ще більше сотні різних віджетів, які можна скачати і встановити на комп'ютер. Кількість і зовнішній вигляд віджетів, що входять в стандартну комплектацію може змінюватися в залежності від версії Mac OS X.&lt;br /&gt;
&lt;br /&gt;
В останніх версіях Mac OS X є ще дві нові функції. Одна з них називається батьківський контроль, і дає можливість батькам контролювати своїх дітей. Вона може перевіряти сайти перед завантаженням, для того щоб виключити перегляд небажаних веб-сторінок, записує, які дії проводилися на комп'ютері за час роботи, веде історію зміни файлів, запуску додатків і перегляду сторінок в інтернеті. Батьківський контроль дозволяє встановлювати таймер виключення комп'ютера.&lt;br /&gt;
&lt;br /&gt;
Програмне забезпечення Boot Camp дозволяє завантажувати на комп'ютерах Intel Macintosh операційну систему Windows XP або Windows Vista. Boot Camp виділяє на диску ще один розділ і форматує його під файлову систему Fat32 або NTFS, після чого в цей розділ встановлюється Windows. При цьому для роботи кожної з систем потрібне перезавантаження комп'ютера. При завантаженні Mac OS X розділ диска зарезервований під Windows буде доступний тільки для читання і навпаки.&lt;br /&gt;
&lt;br /&gt;
Boot Camp увійшов до складу Mac OS X, починаючи з версії Mac OS X 10.5 Leopard, раніше йшла його beta версія. Зараз в комплекті Mac OS X надається пакет драйверів до Windows і аплет для панелі управління Windows, за допомогою якого можна встановити початкові налаштування системи. Продажем і розповсюдженням ОС Windows компанія Apple не займається. Boot Camp був створений для того, щоб полегшити перехід всім бажаючим з звичайних комп'ютерів на комп'ютери Macintosh, а так само запускати на них додатки, які ще не реалізовані для операційної системи Mac OS.&lt;br /&gt;
&lt;br /&gt;
== Плюси і мінуси ОС Mac OS == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує вже став стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Література ==&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://www.apple.com/imac/&lt;br /&gt;
&lt;br /&gt;
http://4mac.su/faq/page/3/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macevolutn.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macprogram.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macplusminus.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/index.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macosx.html&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:13033.jpg</id>
		<title>Файл:13033.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:13033.jpg"/>
				<updated>2012-11-23T18:11:35Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS</id>
		<title>Тема 6. MacOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS"/>
				<updated>2012-11-23T18:11:14Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Операційна система Mac OS X */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Hero122.png|right]]&lt;br /&gt;
Mac OS (Macintosh Operating System) - сімейство пропрієтарних операційних систем з графічним інтерфейсом. Разом з Mac OS X друга за популярністю у світі операційна система (їх загальна ринкова частка в травні 2011 року становила 5,4%). Розроблена корпорацією Apple (раніше - Apple Computers) для своєї лінійки комп'ютерів Macintosh. Популяризація графічного інтерфейсу користувача в сучасних операційних системах часто вважається заслугою Mac OS. Вона була вперше представлена ​​в 1984 році разом з оригінальним Macintosh 128K.&lt;br /&gt;
&lt;br /&gt;
Apple хотіла, щоб Макінтош представлявся як комп'ютер «для всіх інших». Сам термін «Mac OS» насправді не існував до тих пір, поки не був офіційно використаний в середині 1990-х років. З тих пір термін застосовується до всіх версій операційних систем Макінтоша як зручний спосіб виділення їх в контексті інших операційних систем.&lt;br /&gt;
&lt;br /&gt;
Ранні версії Mac OS були сумісні тільки з Макінтошем, заснованими на процесорах Motorola 68k, такі версії були сумісні з архітектурою PowerPC (PPC). З недавніх пір Mac OS X стала сумісна з архітектурою x86. Але політика фірми Apple така, що вона дозволяє встановлювати систему Mac OS тільки на комп'ютери Apple.&lt;br /&gt;
&lt;br /&gt;
== Історія ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac4l.png|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS вийшла у світ в 1984 році разом з першим персональним комп'ютером Macintosh від компанії Apple. Ідеї, втілені в першій версії системи Mac OS, її автори почерпнули у фірми Xerox. У дослідницькому центрі Xerox PARC в той час уже існував комп'ютер з графічною операційною системою, що тоді було справжнім проривом в еволюційному розвитку операційних систем. Але вони використовували її тільки для власних потреб і не планували комерційного застосування.&lt;br /&gt;
&lt;br /&gt;
Поєднавши вже наявні напрацювання і власні ідеї, програмісти компанії Apple створили Mac OS, першу доступну для всіх графічну операційну систему. У ній вже тоді був використаний всім нам звичний віконний інтерфейс, папки з файлами, і вперше був застосований маніпулятор, названий комп'ютерною мишею, здатний пересувати курсор по всій області екрану. Така концепція цілком відповідала головній ідеї самої компанії Apple, яка пропонувала створити комп'ютер доступний для всіх, як за ціною, так і в технічному плані.&lt;br /&gt;
&lt;br /&gt;
Вже тоді автори Mac OS задалися метою створити таку операційну систему, яка буде зручна і інтуїтивно зрозуміла будь-якому користувачеві, навіть не вивчавшему комп'ютер раніше. До цього часу комп'ютерними програмами та процесами керували за допомогою командного рядка, тому поява наочних значків позначивших папки, кошик (на рус. корзина), комп'ютер та інші елементи стали справжньою сенсацією того часу. Ці значки автори стали називати іконками. Розробники Mac OS визначили основи подальшого розвитку всіх операційних систем, багато з того, що вони придумали в далекому 1984 році, зараз є еталоном для всіх розробників програмного забезпечення.&lt;br /&gt;
&lt;br /&gt;
Перша версія Mac OS займала всього 216 кб дискового простору і працювала навіть при звичайному копіюванні з одного комп'ютера на інший. Але такий продукт був абсолютно не захищений від підробки, тому для того, щоб зберегти свої прибутки розробники всі подальшиі зусилля присвятили не тільки її технічному вдосконаленню, розширенню функціональності і стабільності, але і захисту. Після виходу першої версії Mac OS вийшло ще дев'ять її модифікацій, у яких були введені такі поліпшення як:&lt;br /&gt;
&lt;br /&gt;
- Використання мульти файндера, що дозволяє працювати відразу декільком додаткам одночасно;&lt;br /&gt;
&lt;br /&gt;
- Удосконалення мультимедійних функцій і можливостей роботи в інтернеті;&lt;br /&gt;
&lt;br /&gt;
- Зміна чорно-білих іконок на кольорові, а пізніше поява нового «платинового» інтерфейсу і можливості вибирати тему на свій смак;&lt;br /&gt;
&lt;br /&gt;
- Поява нової файлової системи HFS +;&lt;br /&gt;
&lt;br /&gt;
- Поліпшення функцій Інсталлер;&lt;br /&gt;
&lt;br /&gt;
- Поява програми Sherlock, призначеної для пошуку файлів на локальних дисках і в мережі інтернет;&lt;br /&gt;
&lt;br /&gt;
- Поява багатокористувацького режиму і розмежування прав доступу.&lt;br /&gt;
&lt;br /&gt;
Піком роботи над образом, удосконаленням можливостей і забезпеченням стабільності роботи операційної системи Mac OS того часу стала її дев'ята версія, яку зараз ще можна зустріти на деяких комп'ютерах Macintosh. Її називають класикою Mac OS. Macintosh завойовував популярність, а Mac OS принесла компанії величезний комерційний успіх. Але минав час і керівництво компанії Apple прийняло рішення про глобальні зміни.&lt;br /&gt;
&lt;br /&gt;
У березні 2000 року світ побачила абсолютно нова десята версія Mac OS X, яка не підтримує програмне забезпечення, призначене для Mac OS 9. Для її створення повністю переписали початковий програмний код, а за основу взяли операційну систему NeXTSTEP, розробником якої був один з тих, хто колись заснував компанію Apple, але за збігом обставин покинув її. Розробки фірми NEXT разом з її керівником були куплені компанією Apple, завдяки чому на чолі неї знову постає її засновник Стів Джобс.&lt;br /&gt;
&lt;br /&gt;
Тепер в Mac OS X використовується ядро ​​Mach, стандартні сервіси BSD і всі основні можливості операційної системи Unix. Це дало можливість у багато разів підвищити її функціональність, захищеність і стабільність. Багатозадачність Mac OS X дозволяє працювати декільком процесам відразу, але при цьому не заважати один одному, а при збої в роботі одного з них - не допускати збою всієї системи і переривання роботи інших процесів.&lt;br /&gt;
&lt;br /&gt;
На даний момент Mac OS X має власний красивий, неперевантажений спецефектами і приємний для очей інтерфейс Aqua. Вона проста у використанні і дружелюбна. У ній використовується середовище програмування Core Foundation, що включає в себе такі компоненти як Carbon API, Cocoa API і Java API. Графічна середа представлена ​​використанням таких технологій як QuickTime, Quartz Extreme і OpenGL. До того ж Mac OS X дозволяє використовувати програмне забезпечення, написане на таких мовах програмування, як Сі, C + +, Objective-C, Ruby та Java. Важливим достоїнством Mac OS X є її безпека при роботі в інтернеті, вона непогано захищена від інтернет-атак, та й кількість вірусів здатних її вразити на сьогоднішній день мізерно мало.&lt;br /&gt;
&lt;br /&gt;
Якщо враховувати всі достоїнства Mac OS, то відразу постає питання, чому вона досі не так широко поширена, як її основний конкурент всім відома ОС Windows. Відповідь на нього дуже простий, ОС Mac OS встановлюється тільки на комп'ютери Macintosh компанії Apple, що є принциповим рішенням її керівництва. Це не означає, що Mac OS не сумісна з комп'ютерами інших виробників і не може бути на них встановлена. Встановити систему звичайно можна, але на даний момент це вважається незаконним. Комп'ютери Macintosh мають невеликий модельний ряд і не можуть похвалитися різноманітністю, до того ж вони коштують на кілька разів дорожче звичайних персональних ЕОМ, тому число користувачів Macintosh порівняно менше відносно загального числа комп'ютерних користувачів у всьому світі.&lt;br /&gt;
&lt;br /&gt;
== Операційна система Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:382955.jpg|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Еволюція ОС Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13112.jpeg|right]]&lt;br /&gt;
&lt;br /&gt;
Операційна система компанії Apple Mac OS X на даний момент представлена ​​в двох варіантах: версія для робочих станцій і ноутбуків, а також версія для сервера, необхідна для організації роботи локальної мережі підприємства. Після виходу версії Mac OS X 10.0 було випущено ще шість її модифікацій, кожна з яких носить назву тварини з сімейства котячих.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.0 Cheetah (Гепард):''' стала першою оновленою версією операційної системи Mac OS. Вона з'явилася в березні 2001 року і була створена на основі ОС UNIX і сервісів FreeBSD. Нова технологія дозволила підвищити функціональність, надійність і безпека нової операційної системи. Але версія 10.0 Cheetah була нестабільна в роботі, в ній був відсутній ряд функцій, які є в останніх версія системи Mac OS X, тому компанія Apple випустила безкоштовне оновлення.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.1 Puma:''' безкоштовне оновлення розроблене компанією Apple, дозволяло оновити операційну систему Mac OS X 10.0 Cheetah до версії 10.1 (Puma), що дало можливість виправити ряд недоробок, які існували в першій версії і підвищити стабільність роботи. У ній з'явилися такі функції як: персоніфікація, висока якість графіки, швидкий доступ до системних параметрах, розширення спектру мережевих можливостей і периферійних пристроїв, відтворення і запис DVD дисків.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.2 Jaguar:''' в нову версію операційної системи Mac OS X було внесено понад 150 видів різних змін і доповнень, головним з яких стала підтримка апаратного прискорення інтерфейсу користувача з застосуванням технології Quartz Extreme, в результаті цього вся обробка зображень здійснюється процесором відеокарти. У цій версії з'явився мультимедійний центр QuickTime 6, інтернет програма обміну миттєвими повідомленнями iChat, єдина адресна книга, система рукописного введення Inkwell. Поліпшено програми mail, де з'явилася фільтрація спаму, пошук файлів на диску Finder і пошук інформації в інтернеті Sherlock 3.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.3 Panther:''' з'явилася на ринку 24 жовтня 2003 року, в неї була впроваджена технологія шифрування даних FileVault. Подальші оновлення системи привнесли ще ряд змін таких як: виправлені деякі проблеми безпеки, підвищення надійності в роботі із віддаленими файлами у змішаних мережах, поліпшена система файлового обміну та підтримка бездротових мереж, оновлені драйвера до відеокарт, система каталогів і підтримка OpenGL. Внесено зміни і доопрацювання в браузер Safari, поштовий клієнт mail, адресну книгу, Stickies і QuickTime, а також дороблена підтримка програмного забезпечення сторонніх розробників.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.4 Tiger:''' вийшла в квітні 2005 року і включила в себе більше 200 змін і доповнень, які необхідні для більш швидкої і стабільної роботи комп'ютера. Головними новинками цієї версії операційної системи Mac OS X стали унікальна функція швидкого пошуку інформації Spotlight і інтерфейс для віджетів Dashboard, додаток Automator, призначене для автоматизації ряду постійно повторюваних дій, що дозволило виконувати рутинну роботу з допомогою одного натискання.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.5 Leopard:''' з'явилася на ринку 26 жовтня 2007 року, вона включає в себе більше 300 поліпшень і доповнень. Зміни в першу чергу торкнулися ядра операційної системи, в нього тепер інтегрований фреймворк динамічного трасування DTrace, а також є середа Cocoa Bridges для розробки додатків на мовах програмування  Ruby і Python , Scripting Bridge дозволяє автоматизувати Mac-додатки за допомогою програм на Objective-C, Ruby і Python. У систему були також включені Rails, Mongrel і Capistrano. На даний момент Mac OS X 10.5 Leopard визнана повноцінною UNIX системою. Важливою подією стала поява в даній версії програми Boot Camp, за допомогою якої на комп'ютери Macintosh тепер можна встановлювати ОС Windows, в якості другої робочої операційної системи. У новій версії Mac OS X був повністю оновлений Finder і інші корисні додатки, додані такі функції як Stacks, Quick Look, Spaces і програма Time Machine для створення резервних копій системи і даних.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.6 Snow Leopard:''' була представлена ​​в червні 2008 року і включає в себе ряд кардинальних змін. Тепер вона працює тільки на процесорах Intel, використовує в роботі 64-розрядні технології, однаково працює з 64-розрядними та 32-розрядними додатками, займає майже в два рази менше місця на диску, швидше встановлюється, грузиться і працює. Всі стандартні додатки Mac OS X (Finder, Mail, Safari, iCal і iChat та ін) в новій версії були переведені на 64-розрядний код, що значно підвищило їх продуктивність і зробило їх більш стійкими до атак хакерів. Диспетчер Grand Central Dispatch дозволяє на повну використовувати можливості багатоядерних систем і збільшити продуктивність комп'ютера. Додано масштабування інтерфейсу. ОС Snow Leopard використовує технологію Bonjour для обміну файлами, стеки для роботи з вікнами програм, а також в ній оновлена ​​функція Expose, яка стала ще зручнішою і доступнішою. Збільшена швидкість резервного копіювання для передачі даних з метою запобігання збоїв з'єднання в iChat тепер може використовуватися сервер ретрансляції AIM.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac_OSX_Lion_.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X Lion''' (версія 10.7) стала восьмим основним випуском Mac OS X, лінії десктопних та серверних операційних систем компанії Apple для комп'ютерів Macintosh. Lion був публічно представлений на заході Apple «Back to the Mac» 20 жовтня 2010 року і було випущено 20 липня 2011 року. &lt;br /&gt;
&lt;br /&gt;
Деякі нововведення були анонсовані на «Back to the Mac», проте більшість із них буде відкрита ближче до випуску реліза.&lt;br /&gt;
&lt;br /&gt;
Mac App Store — магазин програм, зроблений за зразком App Store для iOS. Як і в iOS, це забезпечить можливість для покупців відкрити програми одним натисканням кнопки встановлення чи швидко оновити всі або обрані встановлені додатки. Mac App Store був випущений для Mac OS X Snow Leopard 6 січня 2011 і був у комплекті з Mac OS X 10.6.6&lt;br /&gt;
Launchpad - панель з іконками додатків, які можна впорядковувати та об'єднувати в папки;&lt;br /&gt;
&lt;br /&gt;
Full-screen apps — нова версія ОС дозволяє працювати з розгорнутими на весь екран додатками, при цьому користувачеві доступна можливість переключати їх жестами (multi-touch жести) на тачпаді, або переходити у звичайний режим перегляду;&lt;br /&gt;
&lt;br /&gt;
Mission Control — перегляд поточних додатків, інтеграції інших Mac OS функцій, включаючи Exposé, Spaces, Dashboard, and Full-screen apps;&lt;br /&gt;
&lt;br /&gt;
Multi-touch жести — за аналогією з iOS підтримка мультитач жестів через сенсорні пристрої Apple: Magic Mouse та Magic Trackpad;&lt;br /&gt;
&lt;br /&gt;
Auto save — автоматичне збереження документів, через що користувачам не доведеться турбуватися про ручне управління документами;&lt;br /&gt;
&lt;br /&gt;
Resume — функція автоматичного відновлення додатків до того стану, в якому вони перебували на момент вимикання або перезавантаження комп'ютера або ж на момент виходу з програми;&lt;br /&gt;
&lt;br /&gt;
Autohiding Scrollbars — смуги прокрутки знаходитимуться в області змісту вікна та приховуватимуться коли прокрутка не відбувається (знову ж за аналогією з iOS).&lt;br /&gt;
В даній версії настільної ОС запозичені деякі ідеї, реалізовані в планшеті iPad.&lt;br /&gt;
24 лютого 2011 року продемонструвавши нову ОС в дії було відзначено наступні нові функції і можливості Mac OS X Lion:&lt;br /&gt;
&lt;br /&gt;
Нова версія Mail 5 з підтримкою автоматичної угруповання пов'язаних повідомлень, поліпшеним механізмом пошуку та інтеграцією з Microsoft Exchange 2010;&lt;br /&gt;
&lt;br /&gt;
AirDrop;— простий механізм копіювання файлів між різними пристроями Mac за допомогою бездротового інтерфейсу, який не вимагає настройки;&lt;br /&gt;
&lt;br /&gt;
Versions — функція автоматичного збереження різних версій документа, що дозволяє відслідковувати процес внесення змін в документи і повертатися до їх попереднього стану;&lt;br /&gt;
FileVault — засоби шифрування даних на локальних і зовнішніх накопичувачах;&lt;br /&gt;
&lt;br /&gt;
Mac OS X Lion Server має підтримку управління пристроями з операційною системою Mac OS X Lion, а також портативними пристроями iPhone, iPad і iPod touch.&lt;br /&gt;
&lt;br /&gt;
'''Серверні функції'''&lt;br /&gt;
&lt;br /&gt;
Wiki Server 3 — програмне забезпечення, що дозволяє співпрацювати невеликим групам, розповсюджуючи текстову інформацію, файли та подкасти.&lt;br /&gt;
File Sharing for iPad — дозволяє використовуючи протокол WebDAV та Wi-Fi передавати на iPad та iPad2 деякі типи файлів, зокрема файли Pages, Keynote та Numbers.&lt;br /&gt;
Profile Manager —дозволяє керувати профілями та налаштуваннями iPhone, iPod touch, iPad та систем на базі Mac OS X Lion та автоматично оновлювати дані за допомогою Apple Push Notification.&lt;br /&gt;
&lt;br /&gt;
== Програми, що входять в комплект з Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:1303 lion.jpg|right|650px]]&lt;br /&gt;
&lt;br /&gt;
В основний комплект з установочного дистрибутивом Mac OS X входить пакет простих і зручних додатків, які необхідні для повсякденної роботи на комп'ютері. При покупці операційної системи не доведеться піклуватися про пошук програмного забезпечення для перегляду картинок, відеофайлів, прослуховування музики і запису дисків, до того в цей комплект входять програми для роботи в інтернеті, створення веб-сайтів, запису відеороликів і музичних композицій. Як і інші розробки компанії Apple цей пакет програм відрізняється зручністю використання, інтуїтивно зрозумілим інтерфейсом і функціональністю.&lt;br /&gt;
&lt;br /&gt;
До стандартних додатків операційної системи Mac OS X можна віднести такі програми як:&lt;br /&gt;
&lt;br /&gt;
Корисні програми на кожен день&lt;br /&gt;
&lt;br /&gt;
'''Адресна книга''' - дозволяє створити базу контактних даних друзів, знайомих або клієнтів по роботі. У неї можна заносити імена, адреси, телефони, адреси електронної пошти і сайтів, а після цього здійснювати глобальний пошук по всій базі. Адресна книга може стати зручним інструментом у роботі для ділових людей.&lt;br /&gt;
&lt;br /&gt;
'''iCal''' - зручний і багатофункціональний календар, в якому не тільки можна подивитися потрібну дату, розпланувати свій робочий графік, але і створювати нагадування про важливі події, робити позначки.&lt;br /&gt;
&lt;br /&gt;
'''Finder''' - зручний файловий менеджер, дозволяє з легкістю працювати з файлами на жорсткому диску. Finder дає можливість копіювати, видаляти і переміщати файли, здійснювати пошук інформації на диску, а також переглядати зображення у вигляді тривимірного «потоку».&lt;br /&gt;
&lt;br /&gt;
'''Preview''' - простенький переглядач зображень, дозволяє переглянути не тільки файли картинок, але файли у форматі PDF.&lt;br /&gt;
&lt;br /&gt;
'''Spotlight''' - вбудований пошук інформації на комп'ютері та в локальній мережі. Spotlight дає можливість швидко знайти не тільки необхідний документ або файл по його назві, розширенню або часом створення, але й по його вмісту. Рядок пошуку є частиною панелі інструментів у вікон Finder та інших програм.&lt;br /&gt;
&lt;br /&gt;
'''Spaces''' - утиліта, що дозволяє упорядкувати і полегшити роботу з вікнами додатків. Вона стане незамінним інструментом для тих, хто працює з великою кількістю програм одночасно. Spaces, дозволяє не тільки створювати кілька віртуальних робочих столів, але й одночасно відображати на екрані їх мініатюри, а також за допомогою мишки перетягувати документи з одного столу на інший.&lt;br /&gt;
&lt;br /&gt;
'''Time Machine''' - корисна утиліта, що дозволяє створювати резервні копії операційної системи і іншої інформації, що міститься на комп'ютері. У разі збоїв роботу комп'ютера буде дуже просто відновити за допомогою так званого «знімка» системи, який за допомогою Time Machine записується на зовнішній вінчестер. Програма копіює всі зміни в папках, файлах і документах кожну годину, а в разі браку місця на диску, звільняє його допомогою видалення самих старих копій.&lt;br /&gt;
&lt;br /&gt;
'''Automator''' - утиліта, необхідна для тих, хто часто виконує однотипні дії з файлами. За допомогою automator навіть людина без знань програмування, за допомогою макросів, створюваних на основі стандартних функцій додатків може задати послідовність дій, після чого рутинну щоденну роботу можна буде робити за допомогою всього одного натискання.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з мультимедійними даними&lt;br /&gt;
&lt;br /&gt;
'''iPhoto''' - програма, що дозволяє створювати особистий фотоархів. За допомогою iPhoto цифрові фотографії можна імпортувати з фотоапарата в архів, створювати альбоми і події, редагувати, експортувати в інтернет і записувати на диски. iPhoto допоможе створити з фотографій календарі та листівки, зберегти їх у форматі PDF або роздрукувати на принтері, а також робити презентації для перегляду цілих галерей фотографій з використанням спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
'''iTunes''' - це медіаплеєр для роботи з музичними і відео файлами, за допомогою нього можна систематизувати медіадані на вашому комп'ютері, слухати музику і дивитися фільми, конвертувати різні музичні формати і музику з дисків, працювати з iPod і iPhone і плеєром Apple TV. В on-line режимі браузер iTunes дозволяє купувати музику в інтернет магазині iTunes Store, а також слухати будь радіостанції.&lt;br /&gt;
&lt;br /&gt;
'''iMovie''' - програма для створення відеороликів. За допомогою iMovie можна імпортувати відео дані з цифрових відеокамер, різати відеофайли, компонувати відеодоріжки звуком, додавати фотографії та різні спецефекти, після чого експортувати отриманий запис в різні відеоформати.&lt;br /&gt;
&lt;br /&gt;
'''Garage Band''' - програма для тих, хто захоплюється записом власних музичних композицій. Garage Band дозволяє працювати відразу з декількома звуковими доріжками, додавати семпли, що зберігаються в банку звуків, або захоплювати сигнали з електроінструментів допомогою MIDI-перехідника, записувати голос або звуки за допомогою мікрофона. В останніх версіях Garage Band до звуку можна додавати відео.&lt;br /&gt;
&lt;br /&gt;
'''iDVD''' - програма для запису дисків, за допомогою неї можна записувати слайд-шоу, відео фільми на DVD диски і створювати власне меню з використанням різних спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з інтернет&lt;br /&gt;
&lt;br /&gt;
[[Файл:133122.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Safari''' - веб-браузер для роботи в мережі інтернет, став входити в комплект з ОС починаючи з версії Mac OS X 10.3 Panther. Safari дозволяє відкривати декілька сторінок в одному вікні і масштабувати розмір текстового поля, має вбудований пошук і захист від злому, вірусів і мережевих атак. Safari підтримує автозаповнення форм, режим приватного перегляду веб-сторінок, при якому не ведеться історія відвідувань, містить перевірку тексту і вбудований RSS-агрегатор.&lt;br /&gt;
&lt;br /&gt;
'''Mail''' - поштовий клієнт, який підтримує протоколи POP, IMAP і Exchange. Mail дозволяє отримувати листи, контролювати фільтрацію спаму, сортувати список кореспонденції по значущості, заносити важливі дати з листів в календар, видаляти одне або декілька листів одразу, пересилати листи або відправляти приховані копії. У програмі mail міститься 30 шаблонів, дозволяють красиво оформити лист або створити святкову листівку.&lt;br /&gt;
&lt;br /&gt;
'''iChat''' - чат-клієнт для миттєвого обміну повідомленнями з підтримкою веб-камери, дозволяє не тільки влаштовувати відеоконференції і аудіоконференції з одним або декількома співрозмовниками, спілкуватися з друзями в текстовій формі, але й показувати їм документи, фото та відео файли за допомогою функції iChat Theater . З дозволу співрозмовника iChat надає можливість записувати все спілкування.&lt;br /&gt;
&lt;br /&gt;
iWeb - додаток для створення власних веб-сторінок, сайтів та розміщення їх в мережі інтернет. iWeb дозволяє швидко створити і відредагувати сайт, навіть не володіючи знаннями веб-програмування та сайтобудування. За допомогою шаблонів iWeb можна легко створити свій сайт або блог, розміщувати в інтернеті фотографії, відео ролики і аудіозаписи.&lt;br /&gt;
&lt;br /&gt;
До складу операційної системи Mac OS X входить інтерфейс для віджетів Dashboard, при його запуску на екрані з'являється вікно з набором невеликих програм, які можуть бути корисні користувачеві. У стандартний набір віджетів для Mac OS X включені 14 додатків: адресна книга, калькулятор, календар, словник, телефонна книга, перекладач, конвертер одиниць вимірювання, замітки, гра «п'ятнашки», курс валют, світове час, погода, авіадовідка, акції і контролер iTunes. На сайті компанії Apple існує ще більше сотні різних віджетів, які можна скачати і встановити на комп'ютер. Кількість і зовнішній вигляд віджетів, що входять в стандартну комплектацію може змінюватися в залежності від версії Mac OS X.&lt;br /&gt;
&lt;br /&gt;
В останніх версіях Mac OS X є ще дві нові функції. Одна з них називається батьківський контроль, і дає можливість батькам контролювати своїх дітей. Вона може перевіряти сайти перед завантаженням, для того щоб виключити перегляд небажаних веб-сторінок, записує, які дії проводилися на комп'ютері за час роботи, веде історію зміни файлів, запуску додатків і перегляду сторінок в інтернеті. Батьківський контроль дозволяє встановлювати таймер виключення комп'ютера.&lt;br /&gt;
&lt;br /&gt;
Програмне забезпечення Boot Camp дозволяє завантажувати на комп'ютерах Intel Macintosh операційну систему Windows XP або Windows Vista. Boot Camp виділяє на диску ще один розділ і форматує його під файлову систему Fat32 або NTFS, після чого в цей розділ встановлюється Windows. При цьому для роботи кожної з систем потрібне перезавантаження комп'ютера. При завантаженні Mac OS X розділ диска зарезервований під Windows буде доступний тільки для читання і навпаки.&lt;br /&gt;
&lt;br /&gt;
Boot Camp увійшов до складу Mac OS X, починаючи з версії Mac OS X 10.5 Leopard, раніше йшла його beta версія. Зараз в комплекті Mac OS X надається пакет драйверів до Windows і аплет для панелі управління Windows, за допомогою якого можна встановити початкові налаштування системи. Продажем і розповсюдженням ОС Windows компанія Apple не займається. Boot Camp був створений для того, щоб полегшити перехід всім бажаючим з звичайних комп'ютерів на комп'ютери Macintosh, а так само запускати на них додатки, які ще не реалізовані для операційної системи Mac OS.&lt;br /&gt;
&lt;br /&gt;
== Плюси і мінуси ОС Mac OS == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує вже став стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Література ==&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://www.apple.com/imac/&lt;br /&gt;
&lt;br /&gt;
http://4mac.su/faq/page/3/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macevolutn.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macprogram.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macplusminus.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/index.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macosx.html&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:382955.jpg</id>
		<title>Файл:382955.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A4%D0%B0%D0%B9%D0%BB:382955.jpg"/>
				<updated>2012-11-23T18:10:57Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	<entry>
		<id>https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS</id>
		<title>Тема 6. MacOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.cusu.edu.ua/index.php/%D0%A2%D0%B5%D0%BC%D0%B0_6._MacOS"/>
				<updated>2012-11-23T18:10:37Z</updated>
		
		<summary type="html">&lt;p&gt;Максим: /* Еволюція ОС Mac OS X */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Файл:Hero122.png|right]]&lt;br /&gt;
Mac OS (Macintosh Operating System) - сімейство пропрієтарних операційних систем з графічним інтерфейсом. Разом з Mac OS X друга за популярністю у світі операційна система (їх загальна ринкова частка в травні 2011 року становила 5,4%). Розроблена корпорацією Apple (раніше - Apple Computers) для своєї лінійки комп'ютерів Macintosh. Популяризація графічного інтерфейсу користувача в сучасних операційних системах часто вважається заслугою Mac OS. Вона була вперше представлена ​​в 1984 році разом з оригінальним Macintosh 128K.&lt;br /&gt;
&lt;br /&gt;
Apple хотіла, щоб Макінтош представлявся як комп'ютер «для всіх інших». Сам термін «Mac OS» насправді не існував до тих пір, поки не був офіційно використаний в середині 1990-х років. З тих пір термін застосовується до всіх версій операційних систем Макінтоша як зручний спосіб виділення їх в контексті інших операційних систем.&lt;br /&gt;
&lt;br /&gt;
Ранні версії Mac OS були сумісні тільки з Макінтошем, заснованими на процесорах Motorola 68k, такі версії були сумісні з архітектурою PowerPC (PPC). З недавніх пір Mac OS X стала сумісна з архітектурою x86. Але політика фірми Apple така, що вона дозволяє встановлювати систему Mac OS тільки на комп'ютери Apple.&lt;br /&gt;
&lt;br /&gt;
== Історія ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac4l.png|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS вийшла у світ в 1984 році разом з першим персональним комп'ютером Macintosh від компанії Apple. Ідеї, втілені в першій версії системи Mac OS, її автори почерпнули у фірми Xerox. У дослідницькому центрі Xerox PARC в той час уже існував комп'ютер з графічною операційною системою, що тоді було справжнім проривом в еволюційному розвитку операційних систем. Але вони використовували її тільки для власних потреб і не планували комерційного застосування.&lt;br /&gt;
&lt;br /&gt;
Поєднавши вже наявні напрацювання і власні ідеї, програмісти компанії Apple створили Mac OS, першу доступну для всіх графічну операційну систему. У ній вже тоді був використаний всім нам звичний віконний інтерфейс, папки з файлами, і вперше був застосований маніпулятор, названий комп'ютерною мишею, здатний пересувати курсор по всій області екрану. Така концепція цілком відповідала головній ідеї самої компанії Apple, яка пропонувала створити комп'ютер доступний для всіх, як за ціною, так і в технічному плані.&lt;br /&gt;
&lt;br /&gt;
Вже тоді автори Mac OS задалися метою створити таку операційну систему, яка буде зручна і інтуїтивно зрозуміла будь-якому користувачеві, навіть не вивчавшему комп'ютер раніше. До цього часу комп'ютерними програмами та процесами керували за допомогою командного рядка, тому поява наочних значків позначивших папки, кошик (на рус. корзина), комп'ютер та інші елементи стали справжньою сенсацією того часу. Ці значки автори стали називати іконками. Розробники Mac OS визначили основи подальшого розвитку всіх операційних систем, багато з того, що вони придумали в далекому 1984 році, зараз є еталоном для всіх розробників програмного забезпечення.&lt;br /&gt;
&lt;br /&gt;
Перша версія Mac OS займала всього 216 кб дискового простору і працювала навіть при звичайному копіюванні з одного комп'ютера на інший. Але такий продукт був абсолютно не захищений від підробки, тому для того, щоб зберегти свої прибутки розробники всі подальшиі зусилля присвятили не тільки її технічному вдосконаленню, розширенню функціональності і стабільності, але і захисту. Після виходу першої версії Mac OS вийшло ще дев'ять її модифікацій, у яких були введені такі поліпшення як:&lt;br /&gt;
&lt;br /&gt;
- Використання мульти файндера, що дозволяє працювати відразу декільком додаткам одночасно;&lt;br /&gt;
&lt;br /&gt;
- Удосконалення мультимедійних функцій і можливостей роботи в інтернеті;&lt;br /&gt;
&lt;br /&gt;
- Зміна чорно-білих іконок на кольорові, а пізніше поява нового «платинового» інтерфейсу і можливості вибирати тему на свій смак;&lt;br /&gt;
&lt;br /&gt;
- Поява нової файлової системи HFS +;&lt;br /&gt;
&lt;br /&gt;
- Поліпшення функцій Інсталлер;&lt;br /&gt;
&lt;br /&gt;
- Поява програми Sherlock, призначеної для пошуку файлів на локальних дисках і в мережі інтернет;&lt;br /&gt;
&lt;br /&gt;
- Поява багатокористувацького режиму і розмежування прав доступу.&lt;br /&gt;
&lt;br /&gt;
Піком роботи над образом, удосконаленням можливостей і забезпеченням стабільності роботи операційної системи Mac OS того часу стала її дев'ята версія, яку зараз ще можна зустріти на деяких комп'ютерах Macintosh. Її називають класикою Mac OS. Macintosh завойовував популярність, а Mac OS принесла компанії величезний комерційний успіх. Але минав час і керівництво компанії Apple прийняло рішення про глобальні зміни.&lt;br /&gt;
&lt;br /&gt;
У березні 2000 року світ побачила абсолютно нова десята версія Mac OS X, яка не підтримує програмне забезпечення, призначене для Mac OS 9. Для її створення повністю переписали початковий програмний код, а за основу взяли операційну систему NeXTSTEP, розробником якої був один з тих, хто колись заснував компанію Apple, але за збігом обставин покинув її. Розробки фірми NEXT разом з її керівником були куплені компанією Apple, завдяки чому на чолі неї знову постає її засновник Стів Джобс.&lt;br /&gt;
&lt;br /&gt;
Тепер в Mac OS X використовується ядро ​​Mach, стандартні сервіси BSD і всі основні можливості операційної системи Unix. Це дало можливість у багато разів підвищити її функціональність, захищеність і стабільність. Багатозадачність Mac OS X дозволяє працювати декільком процесам відразу, але при цьому не заважати один одному, а при збої в роботі одного з них - не допускати збою всієї системи і переривання роботи інших процесів.&lt;br /&gt;
&lt;br /&gt;
На даний момент Mac OS X має власний красивий, неперевантажений спецефектами і приємний для очей інтерфейс Aqua. Вона проста у використанні і дружелюбна. У ній використовується середовище програмування Core Foundation, що включає в себе такі компоненти як Carbon API, Cocoa API і Java API. Графічна середа представлена ​​використанням таких технологій як QuickTime, Quartz Extreme і OpenGL. До того ж Mac OS X дозволяє використовувати програмне забезпечення, написане на таких мовах програмування, як Сі, C + +, Objective-C, Ruby та Java. Важливим достоїнством Mac OS X є її безпека при роботі в інтернеті, вона непогано захищена від інтернет-атак, та й кількість вірусів здатних її вразити на сьогоднішній день мізерно мало.&lt;br /&gt;
&lt;br /&gt;
Якщо враховувати всі достоїнства Mac OS, то відразу постає питання, чому вона досі не так широко поширена, як її основний конкурент всім відома ОС Windows. Відповідь на нього дуже простий, ОС Mac OS встановлюється тільки на комп'ютери Macintosh компанії Apple, що є принциповим рішенням її керівництва. Це не означає, що Mac OS не сумісна з комп'ютерами інших виробників і не може бути на них встановлена. Встановити систему звичайно можна, але на даний момент це вважається незаконним. Комп'ютери Macintosh мають невеликий модельний ряд і не можуть похвалитися різноманітністю, до того ж вони коштують на кілька разів дорожче звичайних персональних ЕОМ, тому число користувачів Macintosh порівняно менше відносно загального числа комп'ютерних користувачів у всьому світі.&lt;br /&gt;
&lt;br /&gt;
== Операційна система Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac_OSX_Lion_.png|right]]&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Еволюція ОС Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:13112.jpeg|right]]&lt;br /&gt;
&lt;br /&gt;
Операційна система компанії Apple Mac OS X на даний момент представлена ​​в двох варіантах: версія для робочих станцій і ноутбуків, а також версія для сервера, необхідна для організації роботи локальної мережі підприємства. Після виходу версії Mac OS X 10.0 було випущено ще шість її модифікацій, кожна з яких носить назву тварини з сімейства котячих.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.0 Cheetah (Гепард):''' стала першою оновленою версією операційної системи Mac OS. Вона з'явилася в березні 2001 року і була створена на основі ОС UNIX і сервісів FreeBSD. Нова технологія дозволила підвищити функціональність, надійність і безпека нової операційної системи. Але версія 10.0 Cheetah була нестабільна в роботі, в ній був відсутній ряд функцій, які є в останніх версія системи Mac OS X, тому компанія Apple випустила безкоштовне оновлення.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.1 Puma:''' безкоштовне оновлення розроблене компанією Apple, дозволяло оновити операційну систему Mac OS X 10.0 Cheetah до версії 10.1 (Puma), що дало можливість виправити ряд недоробок, які існували в першій версії і підвищити стабільність роботи. У ній з'явилися такі функції як: персоніфікація, висока якість графіки, швидкий доступ до системних параметрах, розширення спектру мережевих можливостей і периферійних пристроїв, відтворення і запис DVD дисків.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.2 Jaguar:''' в нову версію операційної системи Mac OS X було внесено понад 150 видів різних змін і доповнень, головним з яких стала підтримка апаратного прискорення інтерфейсу користувача з застосуванням технології Quartz Extreme, в результаті цього вся обробка зображень здійснюється процесором відеокарти. У цій версії з'явився мультимедійний центр QuickTime 6, інтернет програма обміну миттєвими повідомленнями iChat, єдина адресна книга, система рукописного введення Inkwell. Поліпшено програми mail, де з'явилася фільтрація спаму, пошук файлів на диску Finder і пошук інформації в інтернеті Sherlock 3.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.3 Panther:''' з'явилася на ринку 24 жовтня 2003 року, в неї була впроваджена технологія шифрування даних FileVault. Подальші оновлення системи привнесли ще ряд змін таких як: виправлені деякі проблеми безпеки, підвищення надійності в роботі із віддаленими файлами у змішаних мережах, поліпшена система файлового обміну та підтримка бездротових мереж, оновлені драйвера до відеокарт, система каталогів і підтримка OpenGL. Внесено зміни і доопрацювання в браузер Safari, поштовий клієнт mail, адресну книгу, Stickies і QuickTime, а також дороблена підтримка програмного забезпечення сторонніх розробників.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.4 Tiger:''' вийшла в квітні 2005 року і включила в себе більше 200 змін і доповнень, які необхідні для більш швидкої і стабільної роботи комп'ютера. Головними новинками цієї версії операційної системи Mac OS X стали унікальна функція швидкого пошуку інформації Spotlight і інтерфейс для віджетів Dashboard, додаток Automator, призначене для автоматизації ряду постійно повторюваних дій, що дозволило виконувати рутинну роботу з допомогою одного натискання.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.5 Leopard:''' з'явилася на ринку 26 жовтня 2007 року, вона включає в себе більше 300 поліпшень і доповнень. Зміни в першу чергу торкнулися ядра операційної системи, в нього тепер інтегрований фреймворк динамічного трасування DTrace, а також є середа Cocoa Bridges для розробки додатків на мовах програмування  Ruby і Python , Scripting Bridge дозволяє автоматизувати Mac-додатки за допомогою програм на Objective-C, Ruby і Python. У систему були також включені Rails, Mongrel і Capistrano. На даний момент Mac OS X 10.5 Leopard визнана повноцінною UNIX системою. Важливою подією стала поява в даній версії програми Boot Camp, за допомогою якої на комп'ютери Macintosh тепер можна встановлювати ОС Windows, в якості другої робочої операційної системи. У новій версії Mac OS X був повністю оновлений Finder і інші корисні додатки, додані такі функції як Stacks, Quick Look, Spaces і програма Time Machine для створення резервних копій системи і даних.&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X 10.6 Snow Leopard:''' була представлена ​​в червні 2008 року і включає в себе ряд кардинальних змін. Тепер вона працює тільки на процесорах Intel, використовує в роботі 64-розрядні технології, однаково працює з 64-розрядними та 32-розрядними додатками, займає майже в два рази менше місця на диску, швидше встановлюється, грузиться і працює. Всі стандартні додатки Mac OS X (Finder, Mail, Safari, iCal і iChat та ін) в новій версії були переведені на 64-розрядний код, що значно підвищило їх продуктивність і зробило їх більш стійкими до атак хакерів. Диспетчер Grand Central Dispatch дозволяє на повну використовувати можливості багатоядерних систем і збільшити продуктивність комп'ютера. Додано масштабування інтерфейсу. ОС Snow Leopard використовує технологію Bonjour для обміну файлами, стеки для роботи з вікнами програм, а також в ній оновлена ​​функція Expose, яка стала ще зручнішою і доступнішою. Збільшена швидкість резервного копіювання для передачі даних з метою запобігання збоїв з'єднання в iChat тепер може використовуватися сервер ретрансляції AIM.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Mac_OSX_Lion_.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Mac OS X Lion''' (версія 10.7) стала восьмим основним випуском Mac OS X, лінії десктопних та серверних операційних систем компанії Apple для комп'ютерів Macintosh. Lion був публічно представлений на заході Apple «Back to the Mac» 20 жовтня 2010 року і було випущено 20 липня 2011 року. &lt;br /&gt;
&lt;br /&gt;
Деякі нововведення були анонсовані на «Back to the Mac», проте більшість із них буде відкрита ближче до випуску реліза.&lt;br /&gt;
&lt;br /&gt;
Mac App Store — магазин програм, зроблений за зразком App Store для iOS. Як і в iOS, це забезпечить можливість для покупців відкрити програми одним натисканням кнопки встановлення чи швидко оновити всі або обрані встановлені додатки. Mac App Store був випущений для Mac OS X Snow Leopard 6 січня 2011 і був у комплекті з Mac OS X 10.6.6&lt;br /&gt;
Launchpad - панель з іконками додатків, які можна впорядковувати та об'єднувати в папки;&lt;br /&gt;
&lt;br /&gt;
Full-screen apps — нова версія ОС дозволяє працювати з розгорнутими на весь екран додатками, при цьому користувачеві доступна можливість переключати їх жестами (multi-touch жести) на тачпаді, або переходити у звичайний режим перегляду;&lt;br /&gt;
&lt;br /&gt;
Mission Control — перегляд поточних додатків, інтеграції інших Mac OS функцій, включаючи Exposé, Spaces, Dashboard, and Full-screen apps;&lt;br /&gt;
&lt;br /&gt;
Multi-touch жести — за аналогією з iOS підтримка мультитач жестів через сенсорні пристрої Apple: Magic Mouse та Magic Trackpad;&lt;br /&gt;
&lt;br /&gt;
Auto save — автоматичне збереження документів, через що користувачам не доведеться турбуватися про ручне управління документами;&lt;br /&gt;
&lt;br /&gt;
Resume — функція автоматичного відновлення додатків до того стану, в якому вони перебували на момент вимикання або перезавантаження комп'ютера або ж на момент виходу з програми;&lt;br /&gt;
&lt;br /&gt;
Autohiding Scrollbars — смуги прокрутки знаходитимуться в області змісту вікна та приховуватимуться коли прокрутка не відбувається (знову ж за аналогією з iOS).&lt;br /&gt;
В даній версії настільної ОС запозичені деякі ідеї, реалізовані в планшеті iPad.&lt;br /&gt;
24 лютого 2011 року продемонструвавши нову ОС в дії було відзначено наступні нові функції і можливості Mac OS X Lion:&lt;br /&gt;
&lt;br /&gt;
Нова версія Mail 5 з підтримкою автоматичної угруповання пов'язаних повідомлень, поліпшеним механізмом пошуку та інтеграцією з Microsoft Exchange 2010;&lt;br /&gt;
&lt;br /&gt;
AirDrop;— простий механізм копіювання файлів між різними пристроями Mac за допомогою бездротового інтерфейсу, який не вимагає настройки;&lt;br /&gt;
&lt;br /&gt;
Versions — функція автоматичного збереження різних версій документа, що дозволяє відслідковувати процес внесення змін в документи і повертатися до їх попереднього стану;&lt;br /&gt;
FileVault — засоби шифрування даних на локальних і зовнішніх накопичувачах;&lt;br /&gt;
&lt;br /&gt;
Mac OS X Lion Server має підтримку управління пристроями з операційною системою Mac OS X Lion, а також портативними пристроями iPhone, iPad і iPod touch.&lt;br /&gt;
&lt;br /&gt;
'''Серверні функції'''&lt;br /&gt;
&lt;br /&gt;
Wiki Server 3 — програмне забезпечення, що дозволяє співпрацювати невеликим групам, розповсюджуючи текстову інформацію, файли та подкасти.&lt;br /&gt;
File Sharing for iPad — дозволяє використовуючи протокол WebDAV та Wi-Fi передавати на iPad та iPad2 деякі типи файлів, зокрема файли Pages, Keynote та Numbers.&lt;br /&gt;
Profile Manager —дозволяє керувати профілями та налаштуваннями iPhone, iPod touch, iPad та систем на базі Mac OS X Lion та автоматично оновлювати дані за допомогою Apple Push Notification.&lt;br /&gt;
&lt;br /&gt;
== Програми, що входять в комплект з Mac OS X ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:1303 lion.jpg|right|650px]]&lt;br /&gt;
&lt;br /&gt;
В основний комплект з установочного дистрибутивом Mac OS X входить пакет простих і зручних додатків, які необхідні для повсякденної роботи на комп'ютері. При покупці операційної системи не доведеться піклуватися про пошук програмного забезпечення для перегляду картинок, відеофайлів, прослуховування музики і запису дисків, до того в цей комплект входять програми для роботи в інтернеті, створення веб-сайтів, запису відеороликів і музичних композицій. Як і інші розробки компанії Apple цей пакет програм відрізняється зручністю використання, інтуїтивно зрозумілим інтерфейсом і функціональністю.&lt;br /&gt;
&lt;br /&gt;
До стандартних додатків операційної системи Mac OS X можна віднести такі програми як:&lt;br /&gt;
&lt;br /&gt;
Корисні програми на кожен день&lt;br /&gt;
&lt;br /&gt;
'''Адресна книга''' - дозволяє створити базу контактних даних друзів, знайомих або клієнтів по роботі. У неї можна заносити імена, адреси, телефони, адреси електронної пошти і сайтів, а після цього здійснювати глобальний пошук по всій базі. Адресна книга може стати зручним інструментом у роботі для ділових людей.&lt;br /&gt;
&lt;br /&gt;
'''iCal''' - зручний і багатофункціональний календар, в якому не тільки можна подивитися потрібну дату, розпланувати свій робочий графік, але і створювати нагадування про важливі події, робити позначки.&lt;br /&gt;
&lt;br /&gt;
'''Finder''' - зручний файловий менеджер, дозволяє з легкістю працювати з файлами на жорсткому диску. Finder дає можливість копіювати, видаляти і переміщати файли, здійснювати пошук інформації на диску, а також переглядати зображення у вигляді тривимірного «потоку».&lt;br /&gt;
&lt;br /&gt;
'''Preview''' - простенький переглядач зображень, дозволяє переглянути не тільки файли картинок, але файли у форматі PDF.&lt;br /&gt;
&lt;br /&gt;
'''Spotlight''' - вбудований пошук інформації на комп'ютері та в локальній мережі. Spotlight дає можливість швидко знайти не тільки необхідний документ або файл по його назві, розширенню або часом створення, але й по його вмісту. Рядок пошуку є частиною панелі інструментів у вікон Finder та інших програм.&lt;br /&gt;
&lt;br /&gt;
'''Spaces''' - утиліта, що дозволяє упорядкувати і полегшити роботу з вікнами додатків. Вона стане незамінним інструментом для тих, хто працює з великою кількістю програм одночасно. Spaces, дозволяє не тільки створювати кілька віртуальних робочих столів, але й одночасно відображати на екрані їх мініатюри, а також за допомогою мишки перетягувати документи з одного столу на інший.&lt;br /&gt;
&lt;br /&gt;
'''Time Machine''' - корисна утиліта, що дозволяє створювати резервні копії операційної системи і іншої інформації, що міститься на комп'ютері. У разі збоїв роботу комп'ютера буде дуже просто відновити за допомогою так званого «знімка» системи, який за допомогою Time Machine записується на зовнішній вінчестер. Програма копіює всі зміни в папках, файлах і документах кожну годину, а в разі браку місця на диску, звільняє його допомогою видалення самих старих копій.&lt;br /&gt;
&lt;br /&gt;
'''Automator''' - утиліта, необхідна для тих, хто часто виконує однотипні дії з файлами. За допомогою automator навіть людина без знань програмування, за допомогою макросів, створюваних на основі стандартних функцій додатків може задати послідовність дій, після чого рутинну щоденну роботу можна буде робити за допомогою всього одного натискання.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з мультимедійними даними&lt;br /&gt;
&lt;br /&gt;
'''iPhoto''' - програма, що дозволяє створювати особистий фотоархів. За допомогою iPhoto цифрові фотографії можна імпортувати з фотоапарата в архів, створювати альбоми і події, редагувати, експортувати в інтернет і записувати на диски. iPhoto допоможе створити з фотографій календарі та листівки, зберегти їх у форматі PDF або роздрукувати на принтері, а також робити презентації для перегляду цілих галерей фотографій з використанням спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
'''iTunes''' - це медіаплеєр для роботи з музичними і відео файлами, за допомогою нього можна систематизувати медіадані на вашому комп'ютері, слухати музику і дивитися фільми, конвертувати різні музичні формати і музику з дисків, працювати з iPod і iPhone і плеєром Apple TV. В on-line режимі браузер iTunes дозволяє купувати музику в інтернет магазині iTunes Store, а також слухати будь радіостанції.&lt;br /&gt;
&lt;br /&gt;
'''iMovie''' - програма для створення відеороликів. За допомогою iMovie можна імпортувати відео дані з цифрових відеокамер, різати відеофайли, компонувати відеодоріжки звуком, додавати фотографії та різні спецефекти, після чого експортувати отриманий запис в різні відеоформати.&lt;br /&gt;
&lt;br /&gt;
'''Garage Band''' - програма для тих, хто захоплюється записом власних музичних композицій. Garage Band дозволяє працювати відразу з декількома звуковими доріжками, додавати семпли, що зберігаються в банку звуків, або захоплювати сигнали з електроінструментів допомогою MIDI-перехідника, записувати голос або звуки за допомогою мікрофона. В останніх версіях Garage Band до звуку можна додавати відео.&lt;br /&gt;
&lt;br /&gt;
'''iDVD''' - програма для запису дисків, за допомогою неї можна записувати слайд-шоу, відео фільми на DVD диски і створювати власне меню з використанням різних спецефектів і музики.&lt;br /&gt;
&lt;br /&gt;
Програми для роботи з інтернет&lt;br /&gt;
&lt;br /&gt;
[[Файл:133122.png|right]]&lt;br /&gt;
&lt;br /&gt;
'''Safari''' - веб-браузер для роботи в мережі інтернет, став входити в комплект з ОС починаючи з версії Mac OS X 10.3 Panther. Safari дозволяє відкривати декілька сторінок в одному вікні і масштабувати розмір текстового поля, має вбудований пошук і захист від злому, вірусів і мережевих атак. Safari підтримує автозаповнення форм, режим приватного перегляду веб-сторінок, при якому не ведеться історія відвідувань, містить перевірку тексту і вбудований RSS-агрегатор.&lt;br /&gt;
&lt;br /&gt;
'''Mail''' - поштовий клієнт, який підтримує протоколи POP, IMAP і Exchange. Mail дозволяє отримувати листи, контролювати фільтрацію спаму, сортувати список кореспонденції по значущості, заносити важливі дати з листів в календар, видаляти одне або декілька листів одразу, пересилати листи або відправляти приховані копії. У програмі mail міститься 30 шаблонів, дозволяють красиво оформити лист або створити святкову листівку.&lt;br /&gt;
&lt;br /&gt;
'''iChat''' - чат-клієнт для миттєвого обміну повідомленнями з підтримкою веб-камери, дозволяє не тільки влаштовувати відеоконференції і аудіоконференції з одним або декількома співрозмовниками, спілкуватися з друзями в текстовій формі, але й показувати їм документи, фото та відео файли за допомогою функції iChat Theater . З дозволу співрозмовника iChat надає можливість записувати все спілкування.&lt;br /&gt;
&lt;br /&gt;
iWeb - додаток для створення власних веб-сторінок, сайтів та розміщення їх в мережі інтернет. iWeb дозволяє швидко створити і відредагувати сайт, навіть не володіючи знаннями веб-програмування та сайтобудування. За допомогою шаблонів iWeb можна легко створити свій сайт або блог, розміщувати в інтернеті фотографії, відео ролики і аудіозаписи.&lt;br /&gt;
&lt;br /&gt;
До складу операційної системи Mac OS X входить інтерфейс для віджетів Dashboard, при його запуску на екрані з'являється вікно з набором невеликих програм, які можуть бути корисні користувачеві. У стандартний набір віджетів для Mac OS X включені 14 додатків: адресна книга, калькулятор, календар, словник, телефонна книга, перекладач, конвертер одиниць вимірювання, замітки, гра «п'ятнашки», курс валют, світове час, погода, авіадовідка, акції і контролер iTunes. На сайті компанії Apple існує ще більше сотні різних віджетів, які можна скачати і встановити на комп'ютер. Кількість і зовнішній вигляд віджетів, що входять в стандартну комплектацію може змінюватися в залежності від версії Mac OS X.&lt;br /&gt;
&lt;br /&gt;
В останніх версіях Mac OS X є ще дві нові функції. Одна з них називається батьківський контроль, і дає можливість батькам контролювати своїх дітей. Вона може перевіряти сайти перед завантаженням, для того щоб виключити перегляд небажаних веб-сторінок, записує, які дії проводилися на комп'ютері за час роботи, веде історію зміни файлів, запуску додатків і перегляду сторінок в інтернеті. Батьківський контроль дозволяє встановлювати таймер виключення комп'ютера.&lt;br /&gt;
&lt;br /&gt;
Програмне забезпечення Boot Camp дозволяє завантажувати на комп'ютерах Intel Macintosh операційну систему Windows XP або Windows Vista. Boot Camp виділяє на диску ще один розділ і форматує його під файлову систему Fat32 або NTFS, після чого в цей розділ встановлюється Windows. При цьому для роботи кожної з систем потрібне перезавантаження комп'ютера. При завантаженні Mac OS X розділ диска зарезервований під Windows буде доступний тільки для читання і навпаки.&lt;br /&gt;
&lt;br /&gt;
Boot Camp увійшов до складу Mac OS X, починаючи з версії Mac OS X 10.5 Leopard, раніше йшла його beta версія. Зараз в комплекті Mac OS X надається пакет драйверів до Windows і аплет для панелі управління Windows, за допомогою якого можна встановити початкові налаштування системи. Продажем і розповсюдженням ОС Windows компанія Apple не займається. Boot Camp був створений для того, щоб полегшити перехід всім бажаючим з звичайних комп'ютерів на комп'ютери Macintosh, а так само запускати на них додатки, які ще не реалізовані для операційної системи Mac OS.&lt;br /&gt;
&lt;br /&gt;
== Плюси і мінуси ОС Mac OS == &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mac OS X абсолютно нова версія операційної системи Mac OS, основою якої є вільне програмне забезпечення, зване Darwin. Darwin включає в себе ядро ​​XNU, створене з використання технології Mach і стандартних сервісів BSD. Головною перевагою даної технології є те, що її фундамент заснований на всім відомій системі UNIX, що забезпечує нової Mac OS підвищену стабільність, багатофункціональність, швидкість роботи, безпека і надійність.&lt;br /&gt;
&lt;br /&gt;
Всі модифікації операційної системи Mac OS X названі різними видами тварин з сімейства котячих. Починаючи з версії 10.0 до версії 10.6, операційні системи носять імена: Cheetah (в перекладі Гепард), Puma, Jaguar, Panther, Tiger, Leopard і сама остання версія Snow Leopard (в перекладі Сніговий Леопард). Кожна з версій має свої поліпшення і доробки, але всім їм властиві загальні нововведення, які роблять Mac OS X абсолютно не схожою на Mac OS 9, це призвело до того, що додатки, написані для попередніх версій Mac OS, не будуть працювати на Mac OS X. Спочатку робота додатків, написаних під Mac OS 9, здійснювалася за допомогою віртуальної емуляції, але з часом від цього відмовилися зовсім.&lt;br /&gt;
&lt;br /&gt;
Незаперечною перевагою візуалізації графічної оболонки Mac OS X є новий інтерфейс користувача, який носить назву Aqua. Графічний інтерфейс Aqua створює ілюзію водного середовища, з відчуттям прозорості, глибини і руху. Він залишається практично незмінним у всіх модифікаціях Mac OS X, але весь цей час не втрачає своєї актуальності і свіжості рішення. Aqua створений не тільки для краси, але і для комфорту і зручності користувачів. Одним із нововведень є можливість складати вікна активних додатків в окремі секції, які при бажанні можна приховати із зони видимості, не даючи їм без необхідності заповнювати корисний простір робочого столу.&lt;br /&gt;
&lt;br /&gt;
У новій версії Mac OS X реалізовані такі функції як, захист пам'яті, завдяки якій виключається зависання всієї системи при збої в роботі одного з додатків, а також витісняє багатозадачність і симетрична багатопроцесорність. У Mac OS X реалізовано динамічний розподіл пам'яті, що дозволяє виділяти і звільняти пам'ять безпосередньо в процесі роботи програм. Це виключає появу повідомлень «out of memory» і не вимагає коректування кількості доступної пам'яті для кожного додатка.&lt;br /&gt;
&lt;br /&gt;
Зайвим підтвердженням того, що Mac OS розробляється в першу чергу для зручності користувача, є автоматична інтеграція в мережу. Використання цієї функції дозволяє підключатися до мережі інтернет будь-яким доступним методом з'єднання без додаткових налаштувань з боку користувача. Нова технологія енергозбереження дозволяє комп'ютеру виходити зі стану сну практично миттєво.&lt;br /&gt;
&lt;br /&gt;
У Mac OS X реалізована можливість багатокористувацького доступу до даних, розмежовані права доступу, підвищена ступінь захисту інформації користувачів, адміністрування системи стало ще більш простим, а інтерфейс управління шрифтами і шрифтовими наборами став більш зручним і гнучким, до того ж Mac OS X тепер безпосередньо підтримує такі формати шрифтів як: TrueType, Type1 і OpenType. В системі Mac OS X тепер є вбудована підтримка принтерів фірм Epson, Hewlett-Packard і Cannon.&lt;br /&gt;
&lt;br /&gt;
Двомірна візуалізація та друк документів в Mac OS X організована за допомогою технології Quartz, яка використовує вже став стандартним графічний формат PDF, що забезпечує розширену підтримку шрифтів та інші графічні можливості системи. Для роботи з аудіоданими і відеоданими в Mac OS X використовується запатентована технологія QuickTime, яка тепер інтегрована в систему, а 3D графіка та ігри реалізовані з використанням технології OpenGL.&lt;br /&gt;
&lt;br /&gt;
== Література ==&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://uk.wikipedia.org/wiki/Mac_OS_X_Lion&lt;br /&gt;
&lt;br /&gt;
http://www.apple.com/imac/&lt;br /&gt;
&lt;br /&gt;
http://4mac.su/faq/page/3/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macevolutn.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macprogram.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macplusminus.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/index.html&lt;br /&gt;
&lt;br /&gt;
http://maclinks.ru/macosx.html&lt;/div&gt;</summary>
		<author><name>Максим</name></author>	</entry>

	</feed>