<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://man.deeptown.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://man.deeptown.org/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8</id>
		<title>Управление пакетами - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://man.deeptown.org/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8"/>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;action=history"/>
		<updated>2026-05-02T07:08:03Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;diff=481&amp;oldid=prev</id>
		<title>Korvin: /* Импортирование библиотек, ключевое слово import */</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;diff=481&amp;oldid=prev"/>
				<updated>2008-03-31T12:54:23Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Импортирование библиотек, ключевое слово import&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 12:54, 31 марта 2008&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 48:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Импортирование библиотек, ключевое слово import ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;== Импортирование библиотек, ключевое слово import ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для испортирования сторонних библиотек, либо других пакетов программы используется ключевое слово &amp;lt;tt&amp;gt;'''import'''&amp;lt;/tt&amp;gt;, следом за которым указывается &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;либо &lt;/del&gt;идентификатор пакета, который необходимо импортировать&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, либо URL ресурса, который надо подключить. Последний указывается в одиночных кавычках&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для испортирования сторонних библиотек, либо других пакетов программы используется ключевое слово &amp;lt;tt&amp;gt;'''import'''&amp;lt;/tt&amp;gt;, следом за которым указывается идентификатор пакета, который необходимо импортировать:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=kpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;source lang=kpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;import OtherPackage;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;import OtherPackage;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;import 'http://example.com/media/idl/package.gidl';&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;import 'diss:/lib/test.gidl';&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;В случае указания внешнего ресурса, соответствующее описание будет загружено &lt;/del&gt;в &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;момент компиляции&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;а так же при каждом запуске программы&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''Примечание:''' Для непосредственного использования импортированных классов &lt;/ins&gt;в &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;коде данного модуля необходимо либо предворять их имя именем пакета из которого они были импортированы&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;либо написать специальную конструкцию &amp;lt;tt&amp;gt;'''using'''&amp;lt;/tt&amp;gt;:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;source lang=kpp&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;import OtherPackage;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;using OtherPackage;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;/source&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Более подробно, об этом написано в разделе [[Пространства имен]]&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Korvin</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;diff=303&amp;oldid=prev</id>
		<title>Korvin: /* Импортирование библиотек, ключевое слово import */</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;diff=303&amp;oldid=prev"/>
				<updated>2007-09-24T10:16:18Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Импортирование библиотек, ключевое слово import&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 10:16, 24 сентября 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;В случае указания внешнего ресурса, соответствующее описание будет загружено в момент компиляции а так же при каждом запуске программы.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;В случае указания внешнего ресурса, соответствующее описание будет загружено в момент компиляции&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;а так же при каждом запуске программы.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Korvin</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;diff=302&amp;oldid=prev</id>
		<title>Korvin: /* Спецификаторы доступа */</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;diff=302&amp;oldid=prev"/>
				<updated>2007-09-24T10:14:04Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Спецификаторы доступа&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
			&lt;tr style='vertical-align: top;'&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
			&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 10:14, 24 сентября 2007&lt;/td&gt;
			&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 37:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 37:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Те же самые правила распространяются и на [[Классы и объекты#Расширения|расширения]]. То есть, если расширение объявлено частным, то оно может использоваться только в пределах этого пакета. Публичное расширение, будет доступно всем пакетам, которые прямо или косвенно импортируют данный пакет.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;По умолчанию, все содержимое пакета считается частным. Однако, существует возможность задать это правило для всего содержимого пакета. Это осуществляется, путем дописывания соответствующего спецификатора в конец директивы &amp;lt;tt&amp;gt;'''package'''&amp;lt;/tt&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;По умолчанию, все содержимое пакета считается частным. Однако, существует возможность задать это правило для всего содержимого пакета. Это осуществляется, путем дописывания соответствующего спецификатора в конец директивы &amp;lt;tt&amp;gt;'''package'''&amp;lt;/tt&amp;gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Korvin</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;diff=300&amp;oldid=prev</id>
		<title>Korvin: Новая: До сих пор мы рассматривали программы, состоящие только из одного пакета. На практике, при написании б...</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php?title=%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8&amp;diff=300&amp;oldid=prev"/>
				<updated>2007-09-23T19:19:55Z</updated>
		
		<summary type="html">&lt;p&gt;Новая: До сих пор мы рассматривали программы, состоящие только из одного пакета. На практике, при написании б...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;До сих пор мы рассматривали программы, состоящие только из одного пакета. На практике, при написании больших программ, это становится нерационально и неудобно. В этой главе будут затронуты вопросы организации кода в больших программах и некоторые правила, касающиеся оформления собственных пакетов. Будет затронут так же вопрос импортирования сторонник библиотек и особенности работы с ними.&lt;br /&gt;
&lt;br /&gt;
== Принципы организации кода ==&lt;br /&gt;
&lt;br /&gt;
Как уже было сказано выше, при разработке программы, следует избегать больших монолитных решений. Для этого, конечную программу следует разбивать на подсистемы, которые представлены пакетами. Каждый пакет, подобно классам, должен представлять из себя некоторую сущность, решающую определенный круг задач. Например, может быть интерфейсный пакет, пакет математики, пакет объектов и т. д. При этом, каждый из пакетов импортирует только те части и библиотеки, которые необходимы ему для работы. Классы в пакетах тоже следует располагать следуя некоторым правилам, которые программист вырабатывает для себя сам. Тогда, полученная программа будет логичной и легкой в поддержке.&lt;br /&gt;
&lt;br /&gt;
== Ключевое слово package ==&lt;br /&gt;
&lt;br /&gt;
Любой файл программы на языке К++ начинается с указания ключевого слова &amp;lt;tt&amp;gt;'''package'''&amp;lt;/tt&amp;gt;, следом за которым идет идентификатор имени пакета. Это имя будет использоваться другими пакетами для того чтобы использовать данный. &lt;br /&gt;
&lt;br /&gt;
Имя должно быть осмысленным и соответствовать содержимому. Например имена &amp;lt;tt&amp;gt;MyPackage123&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;blablabla&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;4wiukdfnc&amp;lt;/tt&amp;gt; являются неудачными, потому что не несут ровным счетом никакой смысловой нагрузки. В таких именах легко запутаться, сам программист по прошествии некоторого времени не всегда сможет вспомнить, что же было внутри пакета.&lt;br /&gt;
&lt;br /&gt;
А вот примеры хороших, подходящих идентификаторов: &amp;lt;tt&amp;gt;math&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;avt_inventory&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;MyClass&amp;lt;/tt&amp;gt;. В последнем случае, программист решил каждый класс помещать в отдельный пакет. В некоторых случаях это может быть оправдано, особенно если создается целая библиотека с большим набором классов, каждый из которых является довольно обширным. &lt;br /&gt;
&lt;br /&gt;
== Спецификаторы доступа ==&lt;br /&gt;
&lt;br /&gt;
Часто бывает, что для реализации некоторого функционала создаются промежуточные вспомагательные сущности, которые используются только в пределах пакета и не экспортируются из него. Такие классы и функции должны помечаться как частные. Это осуществляется указанием ключевого слова &amp;lt;tt&amp;gt;'''private'''&amp;lt;/tt&amp;gt; непосредственно перед ключевым словом &amp;lt;tt&amp;gt;'''class'''&amp;lt;/tt&amp;gt; или &amp;lt;tt&amp;gt;'''function'''&amp;lt;/tt&amp;gt; соответственно. Напротив, классы и функции, предназначенные для экспортирования из пакета, должны объявляться публичными, что осуществляется с помощью спецификатора  &amp;lt;tt&amp;gt;'''public'''&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=kpp&amp;gt;&lt;br /&gt;
package MyPackage;&lt;br /&gt;
&lt;br /&gt;
private function MyPrivateFunction() {&lt;br /&gt;
    //...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public function MyPublicFunction() {&lt;br /&gt;
    //...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
private class MyPrivateClass {&lt;br /&gt;
    //...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class MyPublicClass {&lt;br /&gt;
    //...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
По умолчанию, все содержимое пакета считается частным. Однако, существует возможность задать это правило для всего содержимого пакета. Это осуществляется, путем дописывания соответствующего спецификатора в конец директивы &amp;lt;tt&amp;gt;'''package'''&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&amp;lt;source lang=kpp&amp;gt;&lt;br /&gt;
package MyPackage public;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь, все классы и функции, которые явно не объявлены приватными, будут считаться публичными.&lt;br /&gt;
&lt;br /&gt;
== Импортирование библиотек, ключевое слово import ==&lt;br /&gt;
&lt;br /&gt;
Для испортирования сторонних библиотек, либо других пакетов программы используется ключевое слово &amp;lt;tt&amp;gt;'''import'''&amp;lt;/tt&amp;gt;, следом за которым указывается либо идентификатор пакета, который необходимо импортировать, либо URL ресурса, который надо подключить. Последний указывается в одиночных кавычках:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=kpp&amp;gt;&lt;br /&gt;
import OtherPackage;&lt;br /&gt;
import 'http://example.com/media/idl/package.gidl';&lt;br /&gt;
import 'diss:/lib/test.gidl';&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В случае указания внешнего ресурса, соответствующее описание будет загружено в момент компиляции а так же при каждом запуске программы.&lt;/div&gt;</summary>
		<author><name>Korvin</name></author>	</entry>

	</feed>