Рубрика «наследование»
Работает в моменте — разоряет на дистанции, или Как исчез самый большой капитал США XIX века
2025-11-15 в 7:15, admin, рубрики: Династии, история бизнеса, история США, кейсы бизнеса, наследование, ошибки управления, предпринимательство, психология управления, управление капиталом, Финансовая грамотность
Работа наследования признаков, на примере волнистых попугаев
2025-10-25 в 16:54, admin, рубрики: волнистые попугаи, генетика, наследование, эволюцияНапример когда лис диких стали отбирать только по одному признаку - не агрессивность к человеку, это повлекло кучу изменений во всём строении одомашниваемых лис. Вот здесь я подробно писал про Беляевских одомашненных лис - https://habr.com/ru/articles/958866/. С волнистыми попугаями наподобие ситуация - меняли окрасы, а попутно вывели по сути несколько подвидов волнистых попугаев, с разными способностями выучивать слова, с разным темпераментом.
Дуалистичная типовая система JavaScript VS Единая объектная система Python. Краткий обзор
2024-10-27 в 7:10, admin, рубрики: javascript, python, наследование, объект, Объектная архитектура, ооп, прототипирование, типыПривет!
Я начинающий разработчик с полуторагодовым опытом программирования на Python и чуть меньшим на JavaScript. Меня всегда интересовало особенное различие в этих двух языках, про которое далее пойдет речь. Это и привело меня к небольшому исследованию и, как следствие, моей первой статье.
Данная статья является сравнением двух подходов в двух разных ЯП. Каких-либо похожих материалов в рунете я не обнаружил (кроме редких упоминаний о том, что такое различие в целом существует), поэтому с радостью почитаю ваше мнение и/или какие-то материалы, если вы оставите ссылки на них в комментариях.
Люди не понимают ООП
2024-02-07 в 13:00, admin, рубрики: ruvds_переводы, инкапсуляция, наследование, объекты, ооп, полиморфизм, структурное программирование, функциональное программирование
«ООП для меня означает лишь обмен сообщениями, локальные ограничения и защиту, сокрытие состояния процесса и крайне позднее привязывание», — Алан Кэй (человек, придумавший термин «объектно-ориентированное программирование»)1
Похоже, многим не нравится объектно-ориентированное программирование. Первое, что приходит в голову, когда слышишь эту трёхбуквенную аббревиатуру — это пример с автомобилем, наследование, геттеры, сеттеры и ObjectFactoryFactorySingleton.
Мне это всегда казалось довольно странным. Мне не только нравится ООП, я ещё и считаю, что часто это лучший/наиболее очевидный способ моделирования задачи. И ниже я расскажу, почему.Читать полностью »
Абстракции и наследование в Си — стреляем по ногам красиво
2022-06-24 в 12:05, admin, рубрики: C, абстракция, наследование, ненормальное программирование, ооп, упорюсьИногда нет-нет да и хочется что-нибудь абстрагировать и обобщить в коде на Си. К примеру, хочешь ты принтануть содержимое структуры несколько раз, пишешь везде, как дурак, printf("%s %d %fn", foo->bar, foo->baz, foo->boom), и интуитивно кажется, что есть способ сделать foo->print(foo), и так вообще со всеми структурами, не только с foo.
Возьмем пример: есть некий чувак с именем и фамилией, и есть птица, у которой есть имя и владелец.
typedef struct Person Person;
struct Person {
char *first_name;
char *last_name;
};
typedef struct Bird Bird;
struct Bird {
char *name;
Person *owner;
};
Никто не знает, как работает каскад
2021-11-25 в 5:41, admin, рубрики: css, html, анатомия каскада, Блог компании HTML Academy, браузеры, наследование, Разработка веб-сайтов, Тестирование веб-сервисовПеред началом чтения пройдите простой тест — каким будет значение свойства background-color в первом и во втором варианте, и почему именно так?

Правильный ответ. В 1 варианте — transparent, во 2 варианте — red. Проверить вживую в интерактивной демонстрации.
Почему так?
Финальные классы в PHP, Java и других языках
2020-11-23 в 7:58, admin, рубрики: interface, java, php, архитектура, Блог компании FunCorp, композиция, наследование, Программирование, разработкаИспользовать финальные классы или не использовать финальные классы? Вот в чём вопрос. А ещё в том, когда и как это делать правильно.

С++ Concept-Based Polymorphism в продуктовом коде: PassManager в LLVM
2020-06-08 в 13:16, admin, рубрики: c++, LLVM, Блог компании Samsung, идиомы с++, Компиляторы, наследование, ооп, паттерны проектирования, полиморфизм, шаблоныСегодня речь пойдет про одну интересную идиому, которую ввел Шон Парент (Adobe) — известный деятель в C++-сообществе. Он часто выступает с докладами и публикует цикл статей Better Code. Одна из его идей, которую используют в Photoshop — это Concept-Based Polymorphism. Это когда мы реализуем полиморфизм не через явное наследование, а с помощью техники, включающей обобщенное программирование, и по итогам получаем некоторые дополнительные преимущества.
Статья устроена следующим образом:
- Что вообще такое Concept-Based Polymorphism и зачем он нужен
- Немного про LLVM и ее устройство
- Пример Concept-Based Polymorphism в LLVM PassManager
- Преимущества подхода

Картинка, иллюстрирующая тезис «Наследование — это зло». Источник
Читать полностью »
Null подкрался незаметно: ломаем Scala Option с помощью Java
2020-02-21 в 16:56, admin, рубрики: java, NullReferenceException, scala, наследование, ненормальное программирование, нетипичные штукиПриветствую! Предлагаю вашему вниманию небольшую пятничную статью про Java, Scala, ненормальных программистов и нарушенные обещания.
Простые наблюдения иногда приводят к не очень простым вопросам.
Вот, к примеру, простой и внешне, пожалуй, даже тривиальный факт, гласящий, что в Java можно расширять любой не-final класс и любой интерфейс в области видимости. И другой, тоже достаточно простой, гласящий, что Scala-код, скомпилированный для JVM, может использоваться из Java-кода.
Сочетание этих двух фактов, однако, заставило меня задаться вопросом: а как поведёт себя с точки зрения Java какой-нибудь класс, который в Scala является sealed, т.е. не может быть расширен внешним относительно его собственного файла кодом?

Декомпилированный Scala-класс в представлении художника. Источник: https://specmahina.ru/wp-content/uploads/2018/08/razobrannaya-benzopila.jpg
В качестве подопытного кролика я взял стандартный класс Option. Скормив его декомпилятору, встроенному в IntelliJ Idea, получаем примерно следующее:
// опустим импорты, они сейчас не слишком интересны
public abstract class Option
implements IterableOnce, Product, Serializable {
// кучка реализаций методов
public abstract Object get();
// ещё кучка реализаций методов
}
Басня о наследовании в JavaScript (юмор)
2020-01-22 в 8:45, admin, рубрики: inheritance, javascript, prototype, наследование, Программирование, прототип, Разработка веб-сайтов
Доброго времени суток, друзья!
Дисклеймер: дальнейшее повествование носит юмористический. Все персонажи являются вымышленными, все совпадения случайны.
Наследование (биология) — передача генетической информации (генетических признаков) от одного поколения организмов к другому — Википедия
Наследование (программирование) — концепция объектно-ориентированного программирования, согласно которой абстрактный тип данных может наследовать данные и функциональность некоторого существующего типа, способствуя повторному использованию компонентов программного обеспечения — Википедия
Басня
В некотором царстве, в некотором государстве… короче, жили-были три воробья: воробей-дед, воробей-отец и воробей-сын. Были они, значит, воробьями, каждый имел две лапки и хвостик:
Читать полностью »
