<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3608196</guid>
        <pubDate>Sun, 21 Jun 2015 21:07:19 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3608196</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3608047'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Pavia &#064; <time class="tag-quote__quoted-time" datetime="2015-06-21T11:15:37+03:00">21.06.15, 08:15</time></span><div class='quote '>На вопрос по прошу не отвлекаться.</div></div> <div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">А я всё-таки отвлекусь</div><div class="body">Лишняя фигура - первая. Она единственная, которая не имеет признака, отличающего её от остальных четырёх</div></div>]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3608047</guid>
        <pubDate>Sun, 21 Jun 2015 08:15:37 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3608047</link>
        <description><![CDATA[Pavia: В природной естественной среде объект принадлежит сразу нескольким классам. <br>
<br>
На вопрос по прошу не отвлекаться.<br>
<img class='tag-img' src='http://i.imgur.com/PNAHP.jpg' alt='user posted image'><br>
<br>
Так вот один и тот же предмет можно классифицировать по форме, по цвету, по наличию каёмки и тп. Ещё разные классы могу перекрываться. <br>
<br>
<img class='tag-img' src='http://cs403527.vk.me/v403527711/163f/-sKQKROunkY.jpg' alt='user posted image'><br>
<br>
Отсюда проявляется проблема классификации. <br>
<br>
Наиболее простой вид классификации. Это когда один класс целиком входи в другой.<br>
<img class='tag-img' src='http://egemaximum.ru/wp-content/uploads/2013/05/5.jpg' alt='user posted image'><br>
<img class='tag-img' src='https://upload.wikimedia.org/math/4/d/5/4d57c6679de92fdc9b6e500c2d2efaa8.png' alt='user posted image'><br>
<br>
Наследование с сужением функционала лучше всего работает.<br>
Можно заменять реализацию функционала. Но интерфейс будет остаться. <br>
А вот наоборот не работает или работает плохо. Так как нельзя вызвать из предка неизвестный функционал потомка. Поэтому предок должен содержать все методы потомков. <br>
<br>
<br>
Но есть и второй способ наследования через перепоручение (Deligate). Что частично решает проблему множественного наследования. <br>
<br>
В этом случае проблемы перекладываются с интереса на функции где надо обрабатывать через ветвления все варианты работы. Т.е использовать Case.<br>
Предок не обязан знать о потомке. И проблему можно решить через внедрение или хук функции.<br>
Что усложняет написания кода. <br>
<br>
<br>
При работе с ООП есть методика сокрытия информации. Когда работаешь с объектами она учит программистов пользоваться объектами используя интуиции. Но вот когда встаёт задача проектировать класс то тут уже надо пользоваться другим подходом. А именно абстрагирование. Суть абстрогирование это изучение существующих классов и выбор того набора методов который наилучшим способом описывает все имеющиеся объекты и их реализации данного класса.Другими словами наиболее популярные методы. Для этого надо рассмотреть все классы и возможные реализации.<br>
<br>
Вот как это делают на примере касса окна в книге 4-тырёх:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '>Класс Window должен покрывать функциональность окон, которая имеется <br>
в различных оконных системах. Рассмотрим два крайних подхода: <br>
- <strong class='tag-b'>пересечение функциональности</strong>. Интерфейс класса Window предоставляет <br>
только операции, общие для всех оконных систем. Однако в результате мы <br>
получаем интерфейс не богаче, чем в самой слабой из рассматриваемых  <br>
систем. Мы не можем воспользоваться более развитыми средствами, даже если <br>
их поддерживает большинство оконных систем (но не все); <br>
- <strong class='tag-b'>объединение функциональности</strong>. Создается интерфейс, который включает <br>
возможности всех существующих систем. Здесь нас подстерегает опасность <br>
получить чрезмерно громоздкий и внутренне не согласованный интерфейс. <br>
Кроме того, нам придется изменять его (а вместе с ним и Lexi) всякий раз, <br>
как только производитель переработает интерфейс своей оконной системы. <br>
Ни то, ни другое решение «в чистом виде» не годятся, поэтому мы выберем <br>
компромиссное. Класс Window будет предоставлять удобный интерфейс,  <br>
поддерживающий наиболее популярные возможности оконных систем. Поскольку  <br>
редактор Lexi будет работать с классом Window напрямую, этот класс должен  <br>
поддерживать и сущности, о которых Lexi известно, то есть глифы. Это означает, что <br>
интерфейс класса Window должен включать базовый набор графических  <br>
операций, позволяющий глифам отображать себя в окне. В табл. 2.3 перечислены  <br>
некоторые операции из интерфейса класса Window. <br>
</div></div><br>
<br>
Для прямоугольника и квадрата. Надо смотреть для чего нужно объединять эти два объекта в класс/классы возможно их и не надо объединять вовсе.<br>
Но если нужно, то  Я бы использовал 3-тий вид наследования. Через множественное наследование интерфейсов. С одной стороны это будет объединение, но с другой стороны и разделения на интерфейсы.]]></description>
        <author>Pavia</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3608038</guid>
        <pubDate>Sun, 21 Jun 2015 05:22:42 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3608038</link>
        <description><![CDATA[Vesper: <a class='tag-url' href='https://en.wikipedia.org/wiki/Circle-ellipse_problem' target='_blank'>Проблема квадрата и прямоугольника</a><br>
/thread]]></description>
        <author>Vesper</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607686</guid>
        <pubDate>Thu, 18 Jun 2015 10:58:19 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607686</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607532'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-06-17T14:34:54+00:00">17.06.15, 14:34</time></span><div class='quote '>Правильная архитектура на первом месте. </div></div><br>
<br>
Именно. И принцип <a class='tag-url' href='https://ru.wikipedia.org/wiki/KISS_%28%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%29' target='_blank'>KISS</a> ... Кстати, вот по нему то и <a class='tag-url' href='http://habrahabr.ru/post/153225/' target='_blank'>ражачная статейка</a>.<br>
<br>
А по поводу вопросов топика <s class='tag-s'>провокатора :)</s> ТС - я бы отталкивался при наследовании фигур именно от количества необходимых величин-описателей. От меньшего к большему, типа:<br>
<br>
1) квадрат, окружность, треугольник-равносторонний ... - 1 измерение (половину высоты или радиус)<br>
2) прямоугольник, эллипс, треугольник-равнобедренный ... - 1 измерение + 1 деформация<br>
3) параллелограмм, яйцеобразная форма, треугольник-произвольный ... - 1 измерение + 2 деформации<br>
<br>
А может вааще сперва изменить систему координат на какую нить эллиптическую  ;)]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607547</guid>
        <pubDate>Wed, 17 Jun 2015 15:48:07 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607547</link>
        <description><![CDATA[applegame: Да у них там ООП головного мозга случился. Неуемное желание создать сложную иерархию ради сложной иерархии. После идиотского мозготраха, они объявили виртуальное наследование богомерзким и переделали дерево.]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607532</guid>
        <pubDate>Wed, 17 Jun 2015 14:34:54 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607532</link>
        <description><![CDATA[Qraizer: Начал читать, и снова захотелось бросить, т.к. буквально сразу после кода с вектором указателей наткнулся на банальнейший ляп проектирования: там и речи не идёт о наследовать реализации, задача описана в терминах реализации интерфейсов, и это совершенно другая задача. Если же для JustVisiblePlusUpdate хочется использовать уже готовые, ранее реализованные интерфейсы Renderable и Updatable, то дерево должно быть другим.<br>В общем, парень хорошо продемонстрировал мой тезис из прошлого поста. Правильная архитектура на первом месте.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607500</guid>
        <pubDate>Wed, 17 Jun 2015 12:17:23 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607500</link>
        <description><![CDATA[Qraizer: <strong class='tag-b'>JoeUser</strong>, как только я внутри там, почти в самом начале, увидел вектор указателей, читать сразу расхотелось. Но я-таки прочту, позже.<br>
Ну а вообще никто не говорит, что задачи, сводящиеся к множественному наследованию реализаций, просты.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607490</guid>
        <pubDate>Wed, 17 Jun 2015 11:38:45 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607490</link>
        <description><![CDATA[AVA12: И чего все зациклились на квадрате и прямоугольнике? Ведь еще есть ромб и параллелограмм. Которые, вообще-то, частные случаи трапеции. И все это - четырехугольники, частные случаи многоугольников, то есть разновидности замкнутых кривых на плоскости, являющихся множествами точек. Если рассматривать проблему, то в полном объеме&#33;]]></description>
        <author>AVA12</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607398</guid>
        <pubDate>Tue, 16 Jun 2015 22:10:36 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607398</link>
        <description><![CDATA[JoeUser: <strong class='tag-b'>Qraizer</strong>, если честно, положа лапу на сердце - вопрос был задан по прочтении <a class='tag-url' href='http://habrahabr.ru/post/185826/' target='_blank'>этой статьи</a>. Задумался, а нужен ли такой гемор, стОит ли овчинка выделки.]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607397</guid>
        <pubDate>Tue, 16 Jun 2015 21:54:19 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607397</link>
        <description><![CDATA[Qraizer: <strong class='tag-b'>shm</strong>, я тоже так думал. Но вот иногда попадаются коты, которым от нечего делать лизать либо нечего, либо не дотянуться. К чужим вот тянутся. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-06-16T22:01:58+00:00">16.06.15, 22:01</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607385'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T21:21:16+00:00">16.06.15, 21:21</time></span><div class='quote '>Еще бы описал виртуальное наследование для полноты ... было бы ваще супер.</div></div>Лиххко. При наследовании нескольких одинаковых атрибутов требуется решить, следует ли в контексте расширенного функционала рассматривать их как одинаковые или же как разные. К примеру, у окна, поделённого на фреймы, может быть только один атрибут &quot;функция обработки сигналов&quot;. А может быть и по одной на каждый фрейм. Это вопрос не программирования, а архитектуры. Как решит проектный менеджер, так и сделает программист (пусть даже это одно лицо). Когда архитектор принимает решение о разделении атрибутов, программист просто использует наследование и не парится, а вот если он решит совместить, тогда программист запарывается на виртуальном наследовании.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607396</guid>
        <pubDate>Tue, 16 Jun 2015 21:53:19 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607396</link>
        <description><![CDATA[JoeUser: <strong class='tag-b'>Qraizer</strong>, с этим разобрались. Идем дашьше.  ;)]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607395</guid>
        <pubDate>Tue, 16 Jun 2015 21:51:59 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607395</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607377'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T20:22:56+00:00">16.06.15, 20:22</time></span><div class='quote '>Или я о5 не про то?</div></div>Про это, но не с той стороны. Я уж начал в голове повесть сочинять, но вот <strong class='tag-b'>applegame</strong> сказал гораздо талантливее:<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607378'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>applegame &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T20:32:36+00:00">16.06.15, 20:32</time></span><div class='quote '>Наследование - не обязательно расширяет функционал, а расширение функционала - не обязательно наследование. Это ортогональные понятия.</div></div>]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607390</guid>
        <pubDate>Tue, 16 Jun 2015 21:43:25 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607390</link>
        <description><![CDATA[shm: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607363'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T18:30:11+00:00">16.06.15, 18:30</time></span><div class='quote '>Однако он иногда выходит мне в ПМ, ...и это вызывает сочувствие к его IQ</div></div><br>
А в чем смысл этих тем он объяснил? Мне кажется, что тут связка бот + человек. Ну не может сам человек плодить столь бессмысленные темы и причем всегда одинаковые.]]></description>
        <author>shm</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607385</guid>
        <pubDate>Tue, 16 Jun 2015 21:21:16 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607385</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607378'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>applegame &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T20:32:36+00:00">16.06.15, 20:32</time></span><div class='quote '>не обязательно</div></div><br>
Это очень замечательно&#33; Хороший термин. Хуже было бы если бы было &quot;никогда&quot;  ;) <br>
<br>
А теперь давайте рассмотрим две стратегии понятия &quot;построение&quot;. <br>
<br>
В нашем случае есть две стратегии:<br>
<br>
1) От меньшего - к большему. Аналог - построение здания из стройматериалов.<br>
2) От большего - к меньшему. Аналог - работа скульптора с камнем.<br>
<br>
От равного к равному не рассматриваем (типа работа химика или металлурга), ибо, в случае С++, нет функционала замены полей класса при наследовании. Типа в базовом было поле int A, а в наследуемом оно стало Double.<br>
<br>
Пока рассуждения верны? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-06-16T21:22:43+00:00">16.06.15, 21:22</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607384'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>amk &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T21:10:00+00:00">16.06.15, 21:10</time></span><div class='quote '>Никто.</div></div><br>
А кто может? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-06-16T21:26:06+00:00">16.06.15, 21:26</time></span></span><br>
<strong class='tag-b'>amk</strong>, кстати хорошо, лаконично все описал&#33; :good: Хоть в учебник публикуй&#33; ))) Еще бы описал виртуальное наследование для полноты ... было бы ваще супер.]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607384</guid>
        <pubDate>Tue, 16 Jun 2015 21:10:00 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607384</link>
        <description><![CDATA[amk: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607377'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T20:22:56+00:00">16.06.15, 20:22</time></span><div class='quote '>Хорошо. Лан. С канонической точки зрения ООП, из трех китов:<br>
<br>
Инкапсуляция<br>
Полиморфизм<br>
Наследование<br>
<br>
Кто отвечает за расширение функционала?</div></div> Никто.<br>
<br>
Инкапсуляция - упрощает жизнь программисту тем, что ему не требуется знать что там у объекта внутри - достаточно знать то, что на поверхности.<br>
Полиморфизм - упрощает жизнь программисту тем, что позволяет работать с объектами разных связанных между собой типов (класса), как с одним типом, не анализируя тип и не придумывая для каждого типа свой способ обработки (имеется в виду внешняя обработка, внутри класс сам знает, что делать). Ну и при появлении нового класса нет необходимости переписывать под него всю программу.<br>
Наследование - упрощает жизнь программисту тем, что позволяет использовать для обработки данных нового типа (класса) процедуры, написанные для базового типа.<br>
<br>
Ну еще добавлю <br>
Перегрузка функций - упрощает жизнь программисту тем, что ему не требуется придумывать и запоминать сложные имена, позволяя использовать простые, легко запоминающиеся, а компилятор сам разберётся какая именно функция имеется в виду.<br>
Перегрузка операций - упрощает жизнь программисту тем, что он может использовать естественную запись выражений, а не городить вложенные вызовы функций/процедур.<br>
Шаблоны - упрощают жизнь программисту тем, что позволяют один раз описать последовательность действий (функцию, метод, операцию) для типов (классов), обладающих сходными свойствами, а не переписывать её заново для каждого из них.<br>
Что-то подобное шаблонам дают дженерики.]]></description>
        <author>amk</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607378</guid>
        <pubDate>Tue, 16 Jun 2015 20:32:36 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607378</link>
        <description><![CDATA[applegame: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607377'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T20:22:56+00:00">16.06.15, 20:22</time></span><div class='quote '>Инкапсуляция<br>
Полиморфизм<br>
Наследование<br>
<br>
Кто отвечает за расширение функционала? </div></div>Понятно к чемы ты клонишь. Наследование - не обязательно расширяет функционал, а расширение функционала - не обязательно наследование. Это ортогональные понятия.]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607377</guid>
        <pubDate>Tue, 16 Jun 2015 20:22:56 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607377</link>
        <description><![CDATA[JoeUser: Хорошо. Лан. С канонической точки зрения ООП, из трех китов:<br>
<br>
Инкапсуляция<br>
Полиморфизм<br>
Наследование<br>
<br>
Кто отвечает за расширение функционала? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2015-06-16T20:25:11+00:00">16.06.15, 20:25</time></span></span><br>
<strong class='tag-b'>Qraizer</strong>, хотя твое &quot;нет&quot; ... по сути &quot;да&quot;. Создавая новые ящички ты тем самым расширяешь функционал или характеристики. Или я о5 не про то?]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607375</guid>
        <pubDate>Tue, 16 Jun 2015 20:16:55 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607375</link>
        <description><![CDATA[applegame: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607373'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>JoeUser &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T19:54:33+00:00">16.06.15, 19:54</time></span><div class='quote '>Ну, как я понимаю, главная задача наследования - расширение либо функционала базового класса, либо его характеристик, либо и то и другое? Так, нет? </div></div>Нихьт. Главная задача наследования - упростить жизнь программисту. Если оно только усложняет, то не надо наследоваться вообще. Полагаю, Qraizer говорит о том же, но с другой стороны.]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607374</guid>
        <pubDate>Tue, 16 Jun 2015 20:12:34 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607374</link>
        <description><![CDATA[Qraizer: Нет. Единственная задача наследования – повторное использование чёрных ящиков с целью сохранить их черноту и создать новую.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607373</guid>
        <pubDate>Tue, 16 Jun 2015 19:54:33 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607373</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607310'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T14:15:52+00:00">16.06.15, 14:15</time></span><div class='quote '>Если наследование публичное, то производный класс является ко всему ещё и базовым. Квадрат всегда прямоугольник, но не наоборот.<br>
Если наследование непубличное, то производный класс не более чем связан с базовым какими-либо связями, но им не обязан являться. И в зависимости от рода этих связей наследование может быть использовано для того или иного профита. В частности, для получения в свои руки имеющегося функционала, т.е. для наследования реализации. Всё просто. </div></div><br>
<br>
Давай разберем по косточкам :)<br>
Ну, как я понимаю, главная задача наследования - расширение либо функционала базового класса, либо его характеристик, либо и то и другое? Так, нет?]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607363</guid>
        <pubDate>Tue, 16 Jun 2015 18:30:11 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607363</link>
        <description><![CDATA[Qraizer: А. Так ты разве не в курсе? Этот автор тут замечен под добрым десятком профилей. Все темы ограничены двумя направлениями. Везде его с трудом хватает только на поддержание скучного разговора. Я был почти уверен, что какой-то школьник оттачивает своего бота для доставания ровесников в ДОТАовом чате, бо стиль общения ни разу не человеческий. Даже ВИ в Mass Effect-е и то обладают лучшими шансами на соответствие тесту Тьюринга. Однако он иногда выходит мне в ПМ, ...и это вызывает сочувствие к его IQ.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607354</guid>
        <pubDate>Tue, 16 Jun 2015 17:20:28 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607354</link>
        <description><![CDATA[korvin: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607348'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T16:51:37+00:00">16.06.15, 16:51</time></span><div class='quote '>а ты думаешь, тут не обсуждалось?</div></div><br>
Я к тому, что текст стартового поста один в один, т.е. автор скорее всего просто тупо троллит, а не хотя бы хочет что-то обсудить.]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607348</guid>
        <pubDate>Tue, 16 Jun 2015 16:51:37 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607348</link>
        <description><![CDATA[Qraizer: <strong class='tag-b'>korvin</strong>, а ты думаешь, тут не обсуждалось? Мне лень было искать темы. И вообще, темы для холивара тут нет ни разу. Он бы ещё спросил, нужно ли комплексные числа наследовать от вещественных или наоборот, натуральные от целых или как-нибудь иначе, налить сначала сливки в кофе и идти на перекур или наливать после перекура. От скраммера не может быть толковых тем по определению, ибо мозг заточен исключительно под поведенческие паттерны, и никакого творчества.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607340</guid>
        <pubDate>Tue, 16 Jun 2015 15:52:52 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607340</link>
        <description><![CDATA[applegame: Баянистая троллота. Закапываем.]]></description>
        <author>applegame</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607331</guid>
        <pubDate>Tue, 16 Jun 2015 15:34:50 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607331</link>
        <description><![CDATA[korvin: <a class='tag-url' href='http://www.cyberforum.ru/oop/thread1460114.html' target='_blank'>Что-то мне это напоминает.</a>]]></description>
        <author>korvin</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607310</guid>
        <pubDate>Tue, 16 Jun 2015 14:15:52 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607310</link>
        <description><![CDATA[Qraizer: Если наследование публичное, то производный класс является ко всему ещё и базовым. Квадрат всегда прямоугольник, но не наоборот.<br>Если наследование непубличное, то производный класс не более чем связан с базовым какими-либо связями, но им не обязан являться. И в зависимости от рода этих связей наследование может быть использовано для того или иного профита. В частности, для получения в свои руки имеющегося функционала, т.е. для наследования реализации. Всё просто.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607286</guid>
        <pubDate>Tue, 16 Jun 2015 12:29:22 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607286</link>
        <description><![CDATA[JoeUser: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=403277&view=findpost&p=3607283'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2015-06-16T12:15:03+00:00">16.06.15, 12:15</time></span><div class='quote '>Квадрат от прямоугольника.</div></div><br>
Наоборот  :rolleyes: Прямоугольник от квадрата. Прямоугольник - деформированный квадрат, вводим коэф. деформации - получаем прямоугольник. +k - в ширину, -k - в высоту, ну или наоборот, не суть. Главное не использовать SCRUM&#33;  :ph34r:]]></description>
        <author>JoeUser</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607283</guid>
        <pubDate>Tue, 16 Jun 2015 12:15:03 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607283</link>
        <description><![CDATA[Qraizer: Квадрат от прямоугольника. Но в твоём случае лучше наоборот, т.к. наследование приватное.<br><br>P.S. А чё, митинг не помог, что ли?]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607281</guid>
        <pubDate>Tue, 16 Jun 2015 11:56:55 +0000</pubDate>
        <title>Что от чего наследовать квадрат от прямоугольника или прямоугольник от квадрата?</title>
        <link>https://forum.sources.ru/index.php?showtopic=403277&amp;view=findpost&amp;p=3607281</link>
        <description><![CDATA[bububu: Собсно вопрос, который часто возникает при проектировании объектной модели, и который я не до конца понимаю и который я попытался выразить в простом примере - что от чего наследовать: прямоугольник от квадрата или квадрат от прямоугольника?<br>
1) С одной стороны <strong class='tag-b'>логично</strong> наследовать что-то более конкретное от более общего - то есть унаследовать квадрат от прямоугольника, так как любой квадрат является прямоугольником, но не любой прямоугольник квадратом.<br>
В этом случае для кода:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">class Rectangle { }</div><div class="code_line">class Square : Rectangle { }</div><div class="code_line">Square obj = new Square();</div><div class="code_line">print(obj is Square); // вернет True</div><div class="code_line">print(obj is Rectangle); // вернет True</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>две последние строчки вернут значение True, что собсно верно.<br>
2) С другой стороны, обратное более <strong class='tag-b'>практично</strong> - для прямоугольника необходимо хранить как ширину, так и высоту, в отличии от квадрата для которого достаточно хранить информацию только для одной из сторон. Следовательно при наследовании прямоугольника от квадрата класс Square не будет хранить избыточную информацию, что может быть критично, если нам надо создавать огромный массив объектов.<br>
Так как же все таки правильнее наследовать?]]></description>
        <author>bububu</author>
        <category>Holy Wars</category>
      </item>
	
      </channel>
      </rss>
	