Имитация менделирующего наследования. Примеры

Добавил пользователь Евгений Кузнецов
Обновлено: 14.12.2024

… не было ни композиции, ни наследования, только код.

И был код неповоротливым, повторяющимся, нераздельным, несчастным, избыточным и измученным.

Основным инструментом для повторного использования кода была копипаста. Процедуры и функции были редкостью, подозрительными новомодными штучками. Вызов процедур был дорогим удовольствием. Части кода, отделенные от основной логики, вызывали недоумение!

Мрачные были времена.

И вот тут ООП взлетел. Было написано множество 4 книг, расплодились бесчисленные 5 статьи. Так что сегодня-то каждый может в объектно-ориентированное программирование, так?

Увы, код (и интернет) говорит, что не так

Самые жаркие споры и наибольшее непонимание, похоже, вызывает выбор между композицией и наследованием, зачастую выраженный мантрой "предпочитайте композицию наследованию". Вот об этом и поговорим.

Когда мантры вредят

В житейском плане "предпочитать композицию наследованию" в целом нормально, хоть я и не любитель мантр. Несмотря на то, что они зачастую и несут зерно истины, слишком легко поддаться соблазну и бездумно следовать лозунгу, не понимая, что за ним скрывается. А это всегда выходит боком.

Желтушные статьи с заголовками вроде "Наследование — зло" 6 тоже не по мне, особенно если автор пытается обосновать свои набросы, сначала неправильно применяя наследование, а потом делая вывод, что оно во всем виновато. Ну типа "молотки — отстой, потому что ими нельзя завинтить шуруп."

Определения

Далее в статье я буду понимать под ООП "классический" объектный язык, который поддерживает классы со свойствами, методами и простое (одиночное) наследование. Никаких вам интерфейсов, примесей, аспектов, множественного наследования, делегатов, замыканий, лямбд, — ничего, кроме самых простых вещей:

  • Класс: именованная сущность из предметной области, возможно, имеющая предка (суперкласс), определенная как набор полей и методов.
  • Поле: именованное свойство с определенным типом, которое может, в частности, ссылаться на другой объект (см. композиция).
  • Метод: именованная функция или процедура, с параметрами или без них, реализующая какое-то поведение класса.
  • Наследование: класс может унаследовать — использовать по умолчанию — поля и методы своего предка. Наследование транзитивно: класс может наследоваться от другого класса, который наследуется от третьего, и так далее вплоть до базового класса (обычно — Object ), возможно, неявного. Наследник может переопределить какие-то методы и поля чтобы изменить поведение по умолчанию.
  • Композиция: если поле у нас имеет тип Класс, оно может содержать ссылку на другой объект этого класса, создавая таким образом связь между двумя объектами. Не влезая в дебри различий между простой ассоциацией, агрегированием и композицией, давайте "на пальцах" определим: композиция — это когда один объект предоставляет другому свою функциональность частично или полностью.
  • Инкапсуляция: мы обращаемся с объектами как с единой сущностью, а не как с набором отдельных полей и методов, тем самым скрываем и защищаем реализацию класса. Если клиентский код не знает ничего, кроме публичного интерфейса, он не может зависеть от деталей реализации.

Наследование фундаментально

… как и композиция

Композиция это тоже фундаментальное свойство, причем любого языка. Даже если язык не поддерживает композицию (что редкость в наши дни), люди все равно будут мыслить категориями частей и компонентов. Без композиции было бы невозможно решить сложные задачи по частям.

(Инкапсуляция тоже вещь фундаментальная, но сейчас речь не о ней)

Так от чего весь сыр-бор?

Ну хорошо, и композиция, и наследование фундаментальны, в чем дело-то?

А дело в том, что можно подумать, что одно всегда может заменить другое, или что первое лучше или хуже второго. Разработка ПО — это всегда выбор разумного баланса, компромисс.

С композицией все более-менее просто, мы с ней постоянно сталкиваемся в жизни: у стула есть ножки, стена состоит из кирпичей и цемента и тому подобное. А вот наследование, несмотря на свое простое определение, может все усложнить и запутать, если хорошенько не поразмыслить над тем, как его применять. Наследование это весьма абстрактная штука, о нем можно рассуждать, но так просто его не потрогаешь. Мы, конечно, можем сымитировать наследование, используя композицию, но это, как правило, слишком много возни. Для чего нужна композиция — очевидно: из частей собрать целое. А вот с наследованием сложнее, потому что оно сразу о двух вещах: о смысле и о механике.

Наследование смысловое

Наследование механическое

Говоря о наследовании в механическом плане, мы имеем в виду, что наследование берет данные (поля) и поведение (методы) базового класса и позволяет использовать их повторно или же дополнить в наследниках. С точки зрения механики, если потомок унаследует реализацию (код) предка, то неизбежно получит и его интерфейс.

Я уверен, что в недопонимании виновата именно эта двойственная природа наследования 7 в большинстве ОО-языков. Многие считают, что наследование — это чтобы повторно использовать код, хотя оно не только для этого. Если придавать повторному использованию чрезмерное значение — жди беды в архитектуре. Вот пара примеров.

Как не надо наследовать. Пример 1

Казалось бы, класс Stack , все хорошо. Но посмотрите внимательно на его интерфейс. Что должно быть в классе с именем Stack? Методы push() и pop() , что же еще. А у нас? У нас есть get() , set() , add() , remove() , clear() и еще куча барахла, доставшегося от ArrayList , которое стеку ну вообще не нужно.

Можно было бы переопределить все нежелательные методы, а некоторые (например, clear() ) даже и адаптировать под наши нужды, но не многовато ли работы из-за одной ошибки в дизайне? На самом деле трех: одной смысловой, одной механической и одной комбинированной:

  1. Утверждение "Stack это ArrayList" ложно. Stack не является подтипом ArrayList . Задача стека — обеспечить выполнение правила LIFO (последним пришел, первым ушел), которое легко удовлетворяется интерфейсом push/pop, но никак не соблюдается интерфейсом ArrayList .
  2. Механически наследование от ArrayList нарушает инкапсуляцию. Клиентскому коду не должно быть известно, что мы решили использовать ArrayList для хранения элементов стека.
  3. Ну и наконец, реализуя стек через ArrayList мы смешиваем две разные предметные области: ArrayList — это коллекция с произвольным доступом, а стек — это понятие из мира очередей, со строго ограниченным (а не произвольным) 8 доступом.

Последний пункт — незначительная на первый взгляд, но важная вещь. Посмотрим на нее пристальнее.

Как не надо наследовать. Пример 2

Частая ошибка при наследовании — это создать модель из предметной области, унаследовав ее от готовой реализации. Вот, скажем, нам надо выделить некоторых наших клиентов (класс Customer ) в определенное подмножество. Легко! Наследуемся от ArrayList , называем это CustomerGroup и понеслась.

Не тут-то было. Поступив так мы опять спутаем две предметные области. Старайтесь избегать этого:

  1. ArrayList это уже наследник списка, утилиты типа "коллекция", готовой реализации.
  2. CustomerGroup это совсем другая штука — класс из предметной области (домена).
  3. Классы из предметной области должны использовать реализации, а не наследовать их.

Слой предметной области не должен знать, как у нас там все внутри сделано. Рассуждая о том, что делает наша программа, мы оперируем понятиями из предметной области, и мы не хотим отвлекаться на нюансы внутреннего устройства. Если видеть в наследовании только инструмент повторного использования кода, мы раз за разом будем попадаться в эту ловушку.

Дело не в одиночном наследовании

Одиночное наследование пока остается самой популярной моделью ООП. Оно неизбежно влечет наследование реализации, которое приводит к сильному зацеплению (coupling — прим. пер.) между классами. Может показаться, что беда в том, что ветка наследования у нас только одна на обе потребности: и смысловую и механическую. Если использовали для одного, то для другого уже нельзя. А раз так, может быть множественное наследование все исправит?

Нет. Отношение наследования не должно пересекать границы между предметными областями: инструментальной (структуры данных, алгоритмы, сети) и прикладной (бизнес-логика). Если CustomerGroup будет наследовать ArrayList и одновременно, скажем, DemographicSegment, то две предметные области переплетутся между собой, а "видовая принадлежность" объектов станет неочевидна.

Предпочтительно (по крайней мере, с моей точки зрения) делать так. Наследуемся от имеющихся в языке инструментальных классов по минимуму, ровно настолько, чтобы реализовать "механическую" часть вашей логики. Потом соединяем получившиеся части композицией, но не наследованием. Иными словами:

От инструментов можно наследовать только другие инструменты.

Это очень частая ошибка новичков. Что не удивительно, ведь так просто взять и унаследовать. Редко где встретишь обсуждения, почему именно это неправильно. Еще раз: бизнес-сущности должны пользоваться инструментами, а не быть ими. Мухи (инструменты) — отдельно, котлеты (бизнес-модели) — отдельно.

Так когда же нужно наследование?

Наследуемся как надо

Чаще всего — и при этом с наибольшей отдачей — наследование применяют для описания объектов, незначительно отличающихся друг от друга (в оригинале используется термин "differential programming" — прим. пер.) Например, нам нужна особенная кнопка с небольшими дополнениями. Нормально, наследуемся от существующего класса Кнопка. Потому что наш новый класс, это все еще кнопка, а мы полностью наследуем API класса Кнопка, его поведение и реализацию. Новая функциональность только добавляется к существующему. А вот если в наследнике часть функциональности убирается, это повод задуматься, а нужно ли наследование.

Наследование полезнее всего для группировки сходных сущностей и понятий, определения семейств классов, и вообще для организации терминов и понятий, описывающих предметную область. Зачастую, когда значительная часть предметной логики уже реализована, исходно выбранные иерархии наследования перестают работать. Если всё к тому идет, не бойтесь разобрать и заново сложить эти иерархии 9 так, чтобы они лучше соответствовали и работали друг с другом.

Композиция или наследование: что выбрать?

В ситуации, когда вроде бы подходит и то и другое, взгляните на дизайн в двух плоскостях:

  1. Структура и механическое исполнение бизнес-объектов.
  2. Что они обозначают по смыслу и как взаимодействуют.

Пока наследование остается внутри одной плоскости, все нормально. Но если иерархия проходит через две плоскости сразу, это плохой симптом.

Например, у вас есть один объект внутри другого. Внутренний объект реализует значительную часть поведения внешнего. У внешнего объекта куча прокси-методов, которые тупо пробрасывают параметры во внутренний объект и возвращают от него результат. В этом случае посмотрите, а не стоит ли унаследоваться от внутреннего объекта, хотя бы частично.

Разумеется, никакие инструкции не заменят голову на плечах. Когда строишь объектную модель, вообще полезно думать. Но если вам хочется конкретных правил, то пожалуйста.

  1. Оба класса из одной предметной области
  2. Наследник является корректным подтипом (в терминах LSP — прим. пер.) предка
  3. Код предка необходим либо хорошо подходит для наследника
  4. Наследник в основном добавляет логику

Иногда все эти условия выполняются одновременно:

  • в случае моделирования высокоуровневой логики из предметной области
  • при разработке библиотек и расширений для них
  • при дифференциальном программировании (автор снова использует термин "differential programming", очевидно, понимая под ним нечто, отличное от DDP — прим. пер.)

Если это не ваш случай, то и наследование вам, скорее всего, будет нужно не часто. Но не потому, что надо "предпочитать" композицию наследованию, и не потому что она "лучше". Выбирайте то, что подходит наилучшим образом для конкретно вашей задачи.

Надеюсь, эти правила помогут вам понять разницу между двумя подходами.

Послесловие

Отдельная благодарность сотрудникам ThoughtWorks за их ценный вклад и замечания: Питу Хогсону, Тиму Брауну, Скотту Робинсону, Мартину Фаулеру, Минди Ор, Шону Ньюхэму, Сэму Гибсону и Махендре Кария.

Первый официальный ОО-язык, SIMULA 67, появился в 1967 году.

Системные и прикладные программисты приняли на вооружение C++ в середине 1980-х, но перед тем, как ООП стал общепринятым, прошел еще десяток лет.

Я намеренно упрощаю, не говорю про паб/саб, делегатов и тому подобное, чтобы не раздувать статью.

На момент написание этого текста Амазон предлагает 24777 книг по ООП.

Поиск в гугле по фразе "объектно-ориентированное программирование" дает 8 млн результатов.

Поиск в гугле выдает 37600 результатов по запросу "наследование это зло".

Смысл (интерфейс) и механику (исполнение) можно разделить за счет усложнения языка. См. пример из спецификации языка D.

С грустью замечу, что в Java Stack унаследован от Vector .

Проектирование для повторного использования через наследования выходит за рамки темы статьи. Просто имейте в виду, что ваш дизайн должен удовлетворить потребности и тех, кто пользуется базовым классом, и тех, кому нужен наследник.

Неменделирующее наследование: закономерности и примеры

С участием "неменделирующее наследование"Мы имеем в виду любую модель наследования, при которой унаследованные персонажи не разделяются в соответствии с законами Менделя.

В 1865 году Грегор Мендель, которого считают «отцом генетики», провел серию экспериментальных скрещиваний с растениями гороха, результаты которых привели его к предложению постулатов (законов Менделя), которые стремились дать логическое объяснение наследственности. персонажей между родителями и детьми.

Этот проницательный австрийский монах внимательно наблюдал за сегрегацией родительских генов и за их проявлением у потомства как доминантных и рецессивных признаков. Кроме того, он определил математические закономерности, описывающие наследование от одного поколения к другому, и эти результаты были «упорядочены» в форме трех основных законов:

- Закон разделения персонажей и

- Закон независимого распределения.

Успехи и выводы Менделя были скрыты в течение многих лет, пока они не были открыты заново в начале 20 века.

В то время, однако, научное сообщество придерживалось несколько скептической позиции по отношению к этим законам, поскольку они, казалось, не объясняли закономерностей наследственности у каких-либо видов животных или растений, особенно у тех признаков, которые определяются более чем одним локусом.

В связи с этим первые генетики классифицировали наблюдаемые паттерны наследования как «менделевские» (те, которые могут быть объяснены посредством разделения простых, доминантных или рецессивных аллелей, принадлежащих к одному и тому же локусу) и «неменделирующие» (те, которые не соответствуют можно так легко объяснить).

Модели неменделирующего наследования

Менделирующее наследование относится к наследственной схеме, которая соответствует законам сегрегации и независимого распределения, согласно которым ген, унаследованный от любого родителя, секретируется в гаметах с эквивалентной частотой или, лучше сказать, с такой же вероятностью.

Основными паттернами менделевского наследования, описанными для некоторых заболеваний, являются: аутосомно-рецессивный, аутосомно-доминантный и сцепленный с Х-хромосомой, которые добавляются к паттернам доминирования и рецессивности, описанным Менделем.

Однако они постулировались относительно видимых признаков, а не генов (следует отметить, что некоторые аллели могут кодировать признаки, которые выделяются как доминантные, тогда как другие могут кодировать те же признаки, но они выделяются как рецессивные гены).

Из вышеизложенного следует, что неменделирующее наследование просто состоит из любого наследственного паттерна, который не соответствует норме, при которой ген, унаследованный от любого родителя, разделяется в клетках зародышевой линии с той же вероятностью, и они включают :

- Наследование, сцепленное с полом

Возникновение этих вариаций в наследственных паттернах может быть связано с различными взаимодействиями генов с другими клеточными компонентами, в дополнение к тому факту, что каждый из них подвержен регуляции и вариациям на любой из стадий транскрипции, сплайсинга, трансляции. , сворачивание белка, олигомеризация, транслокация и компартментализация внутри клетки и для ее экспорта.

Другими словами, существует множество эпигенетических влияний, которые могут изменять образцы наследования любого признака, что приводит к «отклонению» от законов Менделя.

Митохондриальное наследование

Митохондриальная ДНК также передает информацию от одного поколения к другому, как и та, что содержится в ядрах всех эукариотических клеток. Геном, закодированный в этой ДНК, включает гены, необходимые для синтеза 13 полипептидов, которые являются частью субъединиц дыхательной цепи митохондрий, необходимых для организмов с аэробным метаболизмом.

Те черты, которые являются результатом мутаций в митохондриальном геноме, демонстрируют особый паттерн сегрегации, который получил название «митохондриальное наследование», которое обычно происходит по материнской линии, поскольку яйцеклетка обеспечивает полный набор митохондриальной ДНК, а митохондрии не являются внесена спермой.

Печать или отпечаток гена

Геномный импринтинг состоит из серии эпигенетических «меток», которые характеризуют определенные гены или полные области генома и которые являются результатом геномного транзита мужчины или женщины в процессе гаметогенеза.

Существуют кластеры импринтинга генов, которые состоят из от 3 до 12 генов, распределенных между 20 и 3700 килограммами оснований ДНК. Каждый кластер имеет область, известную как область контроля импринтинга, которая демонстрирует определенные эпигенетические модификации от каждого родителя, включая:

- метилирование ДНК по определенным аллелям в остатках цитокинов пар CpG

- Посттрансляционная модификация гистонов, связанных с хроматином (метилирование, ацетилирование, фосфорилирование и т. Д. Аминокислотных хвостов этих белков).

Оба типа «меток» постоянно модулируют экспрессию генов, на которых они обнаружены, изменяя паттерны их передачи следующему поколению.

Паттерны наследования, в которых проявление заболевания зависит от конкретных аллелей, унаследованных от любого из родителей, известны как эффект родительского происхождения.

Однородительская дисомия

Это явление является исключением из первого закона Менделя, который гласит, что только один из двух аллелей, присутствующих у каждого родителя, передается потомству и, согласно хромосомным законам наследования, может передаваться только одна из родительских гомологичных хромосом. следующему поколению.

Это исключение из правил, поскольку однопородная дисомия - это наследование обеих копий гомологичной хромосомы от одного из родителей. Этот тип наследования не всегда обнаруживает фенотипические дефекты, поскольку он сохраняет числовые и структурные характеристики диплоидных хромосом.

Неполное доминирование

Этот образец наследования состоит, фенотипически говоря, из смеси аллель-кодированных признаков, которые объединены. В случаях неполного доминирования те особи, которые являются гетерозиготными, демонстрируют смесь признаков двух контролирующих их аллелей, что означает, что отношения между фенотипами изменены.

Кодоминантность

Он описывает наследственные паттерны, в которых два аллеля, которые передаются от родителей их детям, выражаются одновременно у аллелей с гетерозиготным фенотипом, поэтому оба считаются «доминантными».

Другими словами, рецессивный аллель не «маскируется» экспрессией доминантного аллеля в паре аллелей, но оба выражены, и в фенотипе наблюдается смесь этих двух признаков.

Множественные аллели

Возможно, одна из основных слабостей менделевского наследования представлена ​​признаками, которые кодируются более чем одним аллелем, что довольно часто встречается у людей и многих других живых существ.

Это унаследованное явление увеличивает разнообразие признаков, которые кодируются геном, и, кроме того, эти гены могут также испытывать паттерны неполного доминирования и кодоминирования в дополнение к простому или полному доминированию.

Плейотропия

Другой из «камней в обуви» или «расшатанных ног» наследственных теорий Менделя связан с теми генами, которые контролируют появление более чем одного видимого фенотипа или характеристики, как в случае плейотропных генов.

Летальные аллели

В своих работах Мендель также не рассматривал наследование определенных аллелей, которые могут препятствовать выживанию потомства, когда оно находится в гомозиготной или гетерозиготной форме; это летальные аллели.

Летальные аллели обычно связаны с мутациями или дефектами генов, которые строго необходимы для выживания, которые при передаче следующему поколению (такие мутации), в зависимости от гомозиготности или гетерозиготности индивидуумов, являются летальными.

Признаки или полигенное наследование

Есть характеристики, которые контролируются более чем одним геном (с их аллелями) и, кроме того, сильно контролируются окружающей средой. У людей это чрезвычайно распространено и касается таких черт, как рост, цвет глаз, волос и кожи, а также риск заболеть некоторыми заболеваниями.

Наследование, сцепленное с полом

У людей и многих животных также есть черты, которые обнаруживаются на одной из двух половых хромосом и передаются половым путем. Многие из этих признаков считаются «связанными с полом», когда они проявляются только у одного из полов, хотя оба физически способны наследовать эти признаки.

Большинство признаков, связанных с полом, связаны с некоторыми рецессивными заболеваниями и расстройствами.

Примеры неменделирующего наследования

У людей есть генетическое заболевание, известное как синдром Марфана, которое вызвано мутацией в одном гене, который одновременно влияет на рост и развитие (среди прочего, рост, зрение и сердечную функцию).

Это случай, который считается отличным примером неменделевского паттерна наследования, называемого плейотропией, в котором один ген контролирует несколько характеристик.

Пример митохондриального наследования

Генетические нарушения, возникающие в результате мутаций в митохондриальной ДНК, представляют собой ряд клинических фенотипических вариаций, поскольку возникает так называемая гетероплазмия, когда разные ткани имеют разный процент мутантного митохондриального генома и, следовательно, представляют разные фенотипы.

Среди этих нарушений - синдромы митохондриального «истощения», которые представляют собой группу аутосомно-рецессивных заболеваний, характеризующихся значительным снижением содержания митохондриальной ДНК, что заканчивается дефицитом систем производства энергии в наиболее пораженных органах и тканях. .

Эти синдромы могут быть связаны с мутациями в ядерном геноме, которые влияют на ядерные гены, участвующие в синтезе митохондриальных нуклеотидов или в репликации митохондриальной ДНК. Эффекты могут выражаться в миопатиях, энцефалопатиях, гепато-церебральных или нервно-желудочно-кишечных дефектах.

Закономерности наследования установленные Менделем. Менделирующие признаки человека

Выдающийся вклад Г. Менделя в науку состоит в экспери­ментальном доказательстве наличия единиц наследственности (наслед­ственных задатков, генов) и описании их важнейших свойств — дискретности, стабильности, специфичности, аллельного состояния.

Разработав и применив в опытах на растениях гибридологический метод, Г. Мендель, анализируя результаты моно- и дигибридных скрещиваний гороха, пришел к заключению, что: 1) развитие признаков зависит от передачи потомкам наследственных задатков; 2) указанные задатки передаются в ряду поколений, не утрачивая своей индиви­дуальности, т. е. характеризуются постоянством; 3) наследственные задатки, контролирующие развитие конкретного признака, парные — один из них переходит к потомку от материнского, второй — от отцовского организма; в функциональном отношении эти задатки проявляют свойства доминантности и рецессивности; 4) в процессе образования половых клеток парные наследственные задатки попадают в разные гаметы (закон чистоты гамет); восстановление пар таких задатков происходит в результате оплодотворения; 5) материнский и отцовский организмы в равной мере участвуют в передаче своих наследственных задатков потомку.

Эти положения отражают общие принципы организации наслед­ственного материала: I) дискретное определение развития наследуемых признаков; 2) относительная стабильность наследственных единиц; 3) аллельное состояние наследственных единиц.

Из этих принципов вытекают правила (законы) наследования, сформулированные Г. Менделем: 1) единообразие признака у гибридов первого поколения; 2) расщепление альтернативных вариантов призна­ка среди особей второго поколения; 3) независимое комбинирование признаков родителей в потомках. Генетические закономерности, впервые открытые Г. Менделем, описывают правила независимого наследования, в основе которого лежит наличие дискретных единиц наследственности генов.

Основные понятия генетики:

При изучении закономерностей наследования обычно скрещивают особи, отличающиеся друг от друга альтернативными признаками, например желтый и зеленый цвет, гладкая и морщинистая поверхность у горошин.

Аллельные гены - гены, определяющие развитие альтернативных признаков. Они располагаются в одинаковых локусах гомологичных хромосом.

Локус - место локализации гена в хромосоме.

Альтернативный признак и соответствующий ему ген, проявляющийся у гибридов первого поколения, называется доминантным, а не проявляющийся - рецессивным, т. е.:

Доминантность - это способность подавлять одним аллелем действие другого в гетерозиготном состоянии.

Аллель - форма существования (проявления) гена.

Если в обеих гомологичных хромосомах находятся одинаковые аллельные гены, такой организм называется гомозиготным, так как он образует один тип гамет и не дает расщепление при скрещивании с себе подобным.

Если в гомологичных хромосомах локализованы разные гены одной аллельной пары, то такой организм называется гетерозиготным по данному признаку.

Генотип - совокупность всех генов организма. Генотип представляет собой взаимодействующие друг с другом и влияющие друг на друга совокупности генов. Каждый ген испытывает на себе воздействие других генов генотипа и сам оказывает на них влияние, поэтому один и тот же ген в разных генотипах может проявляться по-разному.

Несмотря на то, что уже многое известно о хромосомах и структуре ДНК, дать определение гена очень трудно, пока удалось сформулировать только три возможных определения гена:

а) ген как единица рекомбинации.

На основании своих работ по построению хромосомных карт дрозофилы Морган постулировал, что ген - это наименьший участок хромосомы, который может быть отделен от примыкающих к нему участков в результате кроссинговера. Согласно этому определению, ген представляет собой крупную единицу, специфическую область хромосомы, определяющую тот или иной признак организма;

б) ген как единица мутирования.

В результате изучения природы мутаций было установлено, что изменения признаков возникают вследствие случайных спонтанных изменений в структуре хромосомы, в последовательности оснований или даже в одном основании. В этом смысле можно было сказать, что ген - это одна пара комплиментарных оснований в нуклеотидной последовательности ДНК, т.е. наименьший участок хромосомы, способный претерпеть мутацию.

в) ген как единица функции.

Поскольку было известно, что от генов зависят структурные, физиологические и биохимические признаки организмов, было предложено определять ген как наименьший участок хромосомы, обусловливающий синтез определенного продукта.

Фенотип - совокупность всех свойств и признаков организма. Фенотип развивается на базе определенного генотипа в результате взаимодействия организма с условиями окружающей среды. Организмы, имеющие одинаковый генотип, могут отличаться друг от друга в зависимости от условий развития и существования.

Фен, признак или свойство организма - это единица морфологической, физиологической, биохимической дискретности, позволяющей отличать один организм от другого.

Геном - совокупность численности и формы хромосом и содержащихся в них генов для данного вида.

Генофонд - это совокупность всех аллелей генов, содержащихся в популяции

Менделирующая наследственность у человека.Законы Г.Менделя их формулировка, проявление

Признаки, наследование которых следует закономерностям, установленным Г. Менделем, называются менделирующими. Общее количество их, известных к 1975 г., составило более 2300. Все менделирующие признаки дискретны и контролируются моногенно, т. е. одним геном.

I закон Менделя — закон единообразия перво­го поколения при скрещивании чистых форм.

Для примера можно рассмотреть этот процесс на кошках.
Произведем скрещивание двух гомозиготных по генам окраса кошек — черной и шоколадной.
В — аллель, отвечающий за синтез черного пигмента;
b — аллель, отвечающий за синтез шоколадного пигмента.
Черный кот имеет генотип ВВ, шоколадная кошка — bb. Родителей в генетике обозначают латинской буквой Р (от латинского parenta — «родители»). Сперматозоиды будут нести один аллель В, а яйцеклетки — аллель b.
В результате оплодотворения образуются зиготы, содержащие диплоидный набор хромосом (характерный набор для оплодотворенной яйцеклетки и всех соматических клеток гена) и несущие аллели Bb. Гибриды первого поколения, которые в генетике принято обозначать F1, окажутся гетерозиготными по данному локусу — Bb. Аллель В полностью доминирует над аллелем b, поэтому все полученные котята будут черными. Иногда доминирование одного аллеля над другим обозначают таким образом: В>b.
При скрещивании гомозиготных кошек получается одинаковое по фенотипу потомство. Эти результаты иллюстрируют I закон Менделя.
Анализируя данное скрещивание, мы говорим только об одном признаке — черном и шоколадном окрасе. Все многообразие признаков, определяющих как сходство, так и различие родителей, в данный момент нас не интересует. Такой тип скрещивания называют моногибридным.

II закон Менделя — закон расщепления: при скрещивании гибридов первого поколения между собой в потомстве второго поколения наблюдается закономерное расщепление.

Произведем скрещивание между собой потомков из первого поколения (F,).
Черные гетерозиготные кот и кошка, имеющие генотип Bb, образуют половые клетки двух типов, несущие аллель В и аллель b. При оплодотворении образуются следующие варианты зигот: BB Bb Bb bb в соотношении 1:2:1.
Во втором поколении (F2) получилось 3/4 черных котят и 1/4iшоколадных.
Черные гомозиготные и черные гетерозиготные котята выглядят одинаково — имеют одинаковый фенотип. В таком случае расщепление по фенотипу составит 3:1. Однако такое доминирование наблюдается не всегда. Известны и другие варианты.

III закон Менделя — аллели каждого гена рас­пределяются в потомстве независимо от аллелей другого гена.

Для объяснения третьего закона Менделя используем для сходства скрещивания животных того же окраса, однако предположим, что у черного кота шерсть короткая, а у кошки — длинная. Длина шерсти определяется геном локуса Long, его доминанный аллель L определяет короткую, а рецессивный l — длинную шерсть. Опять-таки примем, что родители гомозиготны по исходным генам: генотип кота можно записать как BBLL, генотип кошки — bbll. Гены, определяющие эти признаки, относятся к разным локусам, а это значит, что у каждого из родителей будут образовываться половые клетки только одного типа.
Все котята первого поколения пойдут в отца — такие же черные и короткошерстные. И гетерозиготные по обоим генам — BbLl. А вот котята второго поколения (от скрещивания этих потомков исходной пары) будут уже четырех типов: больше всего — короткошерстных черных, примерно поровну — короткошерстных шоколадных и длинношерстных черных и совсем мало — длинношерстных шоколадных. Если посчитать значительное количество таких потомков (более 64), то получится примерное соотношение: 9 черных короткошерстных, 3 черных длинношерстных, 3 шоколадных короткошерстных, 1 шоколадный длинношерстный. То есть для каждого признака: окраса и длины шерсти соблюдается то же соотношение — 3:1 (12 черных, 4 шоколадных, 12 короткошерстных, 4 длинношёрстных). Получается, что признаки наследуются как бы независимо друг от друга.
Это всего лишь схема принципов «работы» генетики кошек и того, как создаются новые породы. На самом деле все не так уж просто.

Условия менделирования признаков. Менделирующие признаки у человека (аутосомно-доминантные, аутосомно-рецессивные, примеры)

Для выполнения законов Менделя необходимо соблюдение ряда условий:

·Гены, отвечающие за разные признаки, должны располагаться в негомологичных хромосомах

·Между генами не должно быть взаимодействия, кроме полного доминирования

·Отсутствие летальных генов и др.

Отклонение от ожидаемого расщепления по законам Менделя вызывают летальные гены. Пример-наследование окраски у диких мышей, наследование брахидактилии у человека.

Менделирующие признаки человека.

Менделирующими называются признаки, которые наследуются по законам Менделя. В отличие от признаков, наследование которых имеет более сложный характер по отношению к менделирующим признакам, возможно четкое прогнозирование их проявлений в потомстве.

Признак Доминантный Рецессивный
Цвет глаз карие голубые
Цвет волос темные светлые
Разрез глаз монголоидный европеоидный
Мочка уха свободная приросшая
Владение рукой праворукость леворукость
Развитие кисти Полидактилия Нормальное строение кисти
Брахидактилия Нормальное строение кисти
Общая пигментация Наличие пигмента альбинизм
Метаболизм фенилаланина нормальный фенилкетонурия
Строение молекулы гемоглобина Нормальное Серповидноклеточная анемия
талассемия Нормальное

6.Типы взаимодействия аллельных генов: доминирование, сверхдоминирование, кодоминирование и явление множественного аллелизма.

Различают следующие типы взаимодействия аллельных генов

Доминирование-форма взаимоотношений между аллелями одного гена, при котором одby из них (доминантный) подавляет проявление другого (рецессивного) и таким образом определяет проявление признака как у доминантных гомозигот, так и у гетерозигот.

Сверхдоминирование- явление селективного преимущества гетерозигот от моногибридного скрещивания по сравнению с обоими типами гомозигот. При этом гетерозиготные организмы обладают или лучшей приспособленностью, или селективной ценностью. Пример - преимущество гетерозигот по серповидноклеточной анемии.(подробнее можно прочитать на стр 13 в методичке)

Кодоминирование - явление совместного фенотипического проявления обоих аллелей у гетерозигот. при этом в генотипе одновременно экспрессируются два доми­нантных аллеля, проявляющие себя независимо друг от друга. Тем самым, при исследо­вании кодоминантных гетерозигот обнаруживаются биохимические продукты обоих ал­лелей.

Примером наследования признаков по типу кодоминирования может служить на­следование групп крови у человека по системе АВО.

8,Множественный аллелизм.К числу аллельных могут относиться не два, а большее число генов. Они получили название серии множественных аллелей. Множе­ственные аллели возникают в результате многократного мутирования одного и того же локуса в хромосоме. Кроме основных (доминантного и рецессивного) аллелей гена появляются промежуточные аллели, которые по отношению к доминантному ведут себя как рецессивные, а по отношению к рецессивному - как доминантные аллели того же гена.

Свойства множественных аллелей:

·все аллельные варианты серии отвечают за формирование одного фенотипиче-ского признака;

·в генотипе организма одновременно могут присутствовать только два аллеля из серии;

·в соответствии с законом чистоты гамет в половых клетках (гаметах) присут­ствует только один аллель из серии;

·в серии множественных аллелей также наблюдается полное и неполное доминирование одного аллеля над другим.

Примерами множественного аллелизма в природе являются серии, определяющие:

• окраску шерсти у кролика;
• окраску цветка львиного зева;

• окраску глаз у дрозофилы.

Множественными аллелями контролируются группы крови у человека, в частности группы крови по системе АВО и резус-фактору.

7.Неполное доминирование. Определение. Примеры (рассмотреть характер наследования цистинурии, серповидноклеточной анемии, талассемии, акаталазии).

Неполное доминирование- тип взаимодействия аллельных генов, при котором в гетерозиготном состоянии доминантный аллель не полностью подавляет фенотипическое проявление рецессивного. При этом формируется промежуточный фенотип.

1.Цистинурия наследуется как аутосомно-рецессивный признак. У гетерозигот — повышенное содержание цистита в моче, у гомозигот — образование камней в почках. Определите формы проявления цистинурии у детей, где в семье один из супругов страдал заболеванием, а другой имел повышенное содержание цистина в моче.

Признак Ген Генотип Решение:Р: ♀ аа х ♂ Аа F1: 50% Аа, 50% аа 50% потомства имеет повышенное содержание цистина. 50% — содержат камни в почках.
Цистинурия а
Норма А АА
Повышенное содержание А,а Аа
Камни в почках а аа

ПРИМЕРЫ НАСЛЕДОВАНИЯ ДРУГИХ ЗАБОЛЕВАНИЙ ТАК ЖЕ РЕШАЮТСЯ.

8.Множественный аллелизм (определение, причины возникновения в процессе эволюции, характер взаимодействия аллелей между собой). Примеры.

Читайте также: