Форум программистов, компьютерный форум, киберфорум
Ооп
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Старый
Рейтинг: 5.00. Голосов: 1.
Протоколы в Python
Запись от py-thonny размещена 31.10.2025 в 20:39 / pythonic man's blog
Показов 7382 Комментарии 0

Нажмите на изображение для увеличения
Название: Протоколы в Python.jpg
Просмотров: 915
Размер:	118.8 Кб
ID:	11359
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического анализа. Пишешь код, запускаешь mypy - и сразу видишь, что твой класс не...
Аватар для py-thonny
Старый
Чем отличаются классы и структуры в C#
Запись от stackOverflow размещена 26.10.2025 в 20:00
Показов 6935 Комментарии 0

Нажмите на изображение для увеличения
Название: Чем отличаются классы и структуры в C#.jpg
Просмотров: 572
Размер:	61.4 Кб
ID:	11335
Когда я начинал программировать на C#, меня раздражало наличие двух конструкций для описания пользовательских типов данных. Зачем усложнять? В Java есть только классы - и ничего, живут люди. Но со временем понимаешь: это не случайный архитектурный изыск, а осознанный компромисс между производительностью и удобством разработки.

Классы дают полную свободу объектно-ориентированного проектирования - наследование, полиморфизм, виртуальные...
Аватар для stackOverflow
Старый
Event-Driven архитектура с Kafka: Outbox Pattern, Exactly-Once и идемпотентные консьюмеры
Запись от ArchitectMsa размещена 09.10.2025 в 21:41 / Microservice it all!
Показов 5560 Комментарии 0

Нажмите на изображение для увеличения
Название: Event-Driven архитектура с Kafka.jpg
Просмотров: 616
Размер:	161.8 Кб
ID:	11274
Представь: твой сервис успешно записал заказ в базу, отправил событие в Kafka, а через секунду всё упало. Заказ есть, событие... может быть есть, а может нет. Или их теперь три копии, потому что продюсер героически ретраился. Склад списал товар дважды, бухгалтерия насчитала...
Аватар для ArchitectMsa
Старый
asyncio и асинхронное программирование в Python: синхронизация, продвинутые примеры, асинхронный парсер
Запись от py-thonny размещена 07.10.2025 в 21:20 / pythonic man's blog. Обновил(-а) py-thonny 07.10.2025 в 21:23
Показов 4681 Комментарии 0

Нажмите на изображение для увеличения
Название: asyncio и асинхронное программирование в Python синхронизация, асинхронный парсер.jpg
Просмотров: 593
Размер:	68.1 Кб
ID:	11270
1. asyncio и асинхронное программирование в Python: конкурентность, корутины, таски, async/await, event loop
2. asyncio и асинхронное программирование в Python: паттерны, футуры, примеры, работа с БД
3. asyncio и асинхронное программирование в Python: синхронизация, продвинутые примеры, асинхронный парсер

Продвинутые техники



Когда базовые паттерны освоены, asyncio открывает возможности...
Аватар для py-thonny
Старый
Go 1.25 - возможности с примерами
Запись от golander размещена 26.09.2025 в 19:56 / go go just go
Показов 4450 Комментарии 0

Нажмите на изображение для увеличения
Название: Go 1.25 - возможности с примерами.jpg
Просмотров: 391
Размер:	108.1 Кб
ID:	11218
Последние несколько лет я постоянно сталкивался с одной и той же проблемой — как выжать максимум производительности из Go без жертвы читабельностью кода. С выходом Go 1.25 эта дилемма, кажется, начинает решаться на уровне самого языка.

Profile-Guided Optimization: из экспериментальной фичи в надежный инструмент



Наконец-то PGO (Profile-Guided Optimization) стабилизирована! Это больше не экспериментальная...
Аватар для golander
Старый
Игра в виселицу на Python
Запись от IndentationError размещена 14.09.2025 в 21:17 / AI coming for you
Показов 6793 Комментарии 0

Нажмите на изображение для увеличения
Название: Игра в виселицу на Python.jpg
Просмотров: 444
Размер:	153.3 Кб
ID:	11171
Когда я только начинал свой путь в программировании, мне казалось, что создать игру - это что-то из области фантастики. Помню, как в далеком 2007 году, работая над своими первыми проектами, я втихаря на обеденных перерывах писал свою версию "Виселицы" на Python 2.5. Казалось бы, зачем тратить время на примитивную игру, когда вокруг столько передовых технологий? Но именно эта...
Аватар для IndentationError
Старый
Разработка собственного фреймворка для тестирования в C#
Запись от UnmanagedCoder размещена 04.05.2025 в 20:20 / C# .Net and all about
Показов 5272 Комментарии 0
Метки .net, c#, gof, oop, patterns, testing, ооп

Нажмите на изображение для увеличения
Название: e1c17dd1-84a6-4ced-91f0-3d24e995200d.jpg
Просмотров: 277
Размер:	165.5 Кб
ID:	10743
C# довольно богат готовыми решениями – NUnit, xUnit, MSTest уже давно стали своеобразными динозаврами индустрии. Однако, как и любой динозавр, они не всегда могут протиснуться в узкие коридоры специфических требований проекта. Встречали когда-нибудь ситуацию, когда стандартные...
Аватар для UnmanagedCoder
Старый
Реализация шаблонов проектирования GoF на C++
Запись от NullReferenced размещена 04.05.2025 в 15:56 / C++ for fun and for life
Показов 2203 Комментарии 0
Метки c++, gof, oop, patterns, ооп

Нажмите на изображение для увеличения
Название: 06b915df-a9ba-4bd4-8fa0-728b5554a9c9.jpg
Просмотров: 235
Размер:	270.8 Кб
ID:	10739
"Банда четырёх" (Gang of Four или GoF) — Эрих Гамма, Ричард Хелм, Ральф Джонсон и Джон Влиссидес — в 1994 году сформировали канон шаблонов, который выдержал проверку временем. И хотя C++ претерпел немало изменений с тех пор (попробуйте сравнить C++98 и C++20 — это как сопоставить телегу с космическим кораблем), подходы GoF остаются актуальными....
Аватар для NullReferenced
Старый
Колмогоровская сложность: Приёмы упрощения кода
Запись от ArchitectMsa размещена 20.03.2025 в 20:09 / Microservice it all!
Показов 4572 Комментарии 0

Нажмите на изображение для увеличения
Название: 43ee7cd8-3c83-45e8-955c-31724670a918.jpg
Просмотров: 273
Размер:	250.8 Кб
ID:	10478
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы часто имеем в виду не только его функциональность, но и то, насколько...
Аватар для ArchitectMsa
Старый
Рейтинг: 3.00. Голосов: 1.
ООП наоборот?
Запись от CoderHuligan размещена 04.07.2024 в 09:23
Показов 4340 Комментарии 89
Метки oop, ооп

Я бы не стал писать этот пост в своем блоге, если бы не нуждался в некой обратной связи.
Постараюсь быть краток.
Я не против ООП. Вернее: я согласен что объектная парадигма внесла новый уровень в искусство программирования. Согласен, что мыслить в категориях объектов...
Аватар для CoderHuligan
Старый
Рейтинг: 3.00. Голосов: 3.
Как избавиться от циклов
Запись от CoderHuligan размещена 28.05.2023 в 14:02
Показов 5593 Комментарии 50
Метки ооп

Это разговор об основах.
Как известно, ООП выросло на понятии структуры, что потом превратилось в понятие класса. Это привело к разбуханию кода. Разбухание кода усложнило его поддержку. Воду лить не буду, а приведу пример:
Допустим у нас есть структура "книга", которая состоит из полей "название", "автор" и "цена". Вот схематичный заголовочный файл с её описанием:
Кликните здесь для просмотра всего текста
C
1
2
3
#ifndef _BOOK_H
#define _BOOK_H
#include <string.h>
...
Аватар для CoderHuligan
Старый
Простая реализация матрицы на C
Запись от L0M размещена 16.02.2020 в 04:35
Показов 2968 Комментарии 0

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

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

Поставленные цели:
  1. Создать тип Matrix2 (двухмерная матрица) и набор функций, которые с ним работают.
...
Аватар для L0M
L0M
Мозгоправ
Старый
Объектно-ориентированный язык программирования Ассемблер
Запись от Энтомолог размещена 03.05.2019 в 21:42
Показов 6247 Комментарии 12

Ассемблер (от англ. assembler) - язык объектно-ориентированного программирования (ООП), что бы ни утверждали некоторые маркетологи. Под объектом здесь будем понимать любой артефакт - нечто, созданное человеком. Под объектно-ориентированным языком программирования я понимаю такой,
...
Аватар для Энтомолог
Старый
Рейтинг: 4.50. Голосов: 2.
ООП в МАТЛАБ. Раздел 1. Общие соображения.
Запись от letete размещена 15.08.2014 в 19:44 / Это МАТЛАБ, детка...
Показов 25834 Комментарии 0
Метки matlab, ооп

Начну с общих моментов.

Часть 1.1. В начале был m-файл...
Каждый класс в МАТЛАБ располагается в отдельном файле. Возможно перенесение некоторых функций (методов) класса в отдельный файл-функцию, об этом чуть ниже. Для начала, необходимо создать главный файл для класса и назвать его в точности как называется класс (среда ругается даже на разницу в прописных/заглавных символах):
Matlab M
1
2
classdef mycLasS % файл ОБЯЗАН называться mycLasS.m
end
Каждый класс может иметь...
Старый
Рейтинг: 5.00. Голосов: 1.
ООП в МАТЛАБ. Раздел 2. Особенности функционирования.
Запись от letete размещена 07.08.2014 в 17:09 / Это МАТЛАБ, детка...
Показов 12079 Комментарии 0
Метки matlab, ооп

Часть 1. Атрибуты SetAccess, GetAccess, AbortSet

Если класс объявлен как handle (т.е. наследуется от handle), то МАТЛАБ допускает удобный доступ к его свойствам. Для этого применяются специальный вид функций set/get:
Matlab M
1
2
3
4
% файл с21.m
classdef c21 < handle   % наследование от handle обязательно
    properties     % по умолчанию атрибуты здесь следующие:
        p          % SetAccess = public, GetAccess
...
Старый
Рейтинг: 5.00. Голосов: 1.
ООП в МАТЛАБ. Раздел 3. Наследование.
Запись от letete размещена 17.07.2014 в 19:16 / Это МАТЛАБ, детка...
Показов 11806 Комментарии 0
Метки matlab, ооп

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

Часть 1. Атрибут Sealed.
Атрибут Sealed означает "запечатанный", "герметичный" и может применяться к классу или к его методам. Этот атрибут означает запрет на наследование. Т.е. класс, определенный как Sealed не может иметь потомков.
Matlab M
1
% файл c31.m
...
Старый
Рейтинг: 4.50. Голосов: 2.
ООП в МАТЛАБ
Запись от letete размещена 15.07.2014 в 22:50 / Это МАТЛАБ, детка...
Показов 7562 Комментарии 3
Метки matlab, ооп

Так уж получилось, что на старости лет приходится разбираться в объектно-ориентированном программировании в среде МАТЛАБ. И хотя жаловаться на среду я не собираюсь – всем я доволен, благодаря партии!.. (в отличие от некоторых), тем не менее, несколько удивляет отсутствие информации на обычном русском языке относительно вышеуказанного вопроса. Я, конечно, понимаю, что МАТЛАБ...
Старый
Рейтинг: 5.00. Голосов: 7.
Python. ООП. Трансформинг и КП.
Запись от Фаер размещена 31.08.2013 в 13:08
Показов 4425 Комментарии 0

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

Компонентное программирование(КП) предусматривает...
Аватар для Фаер
Старый
Рейтинг: 5.00. Голосов: 1.
Python. Прототипное программирование.
Запись от Фаер размещена 10.11.2012 в 10:44
Показов 4636 Комментарии 0

Прототипное программирование - это одна из разновидностей ООП. Отличаются данные парадигмы тем, что основным инструментом ООП является класс, тогда как прототипное программирование предусматривает оперирование непосредственно объектом.

Данный стиль не очень-то широко распространён. Python, в частности, не поддерживает ПП напрямую, как, например, Lua или JavaScript. Но, как следует поколдовав, можно реализовать некоторые его приёмы и на Python'е.
Чаще всего в таких...
Аватар для Фаер
Старый
Python. ООП. Часть 2.
Запись от Фаер размещена 07.11.2012 в 09:41
Показов 4194 Комментарии 0

Кое-чему по ходу прошлой записи, если Вы её читали, Мы уже научились. Теперь можно взяться и за более серьёзные приёмы объектно - ориентированного программирования. Одним из самых мощных инструментов данной парадигмы является наследование. Сдаётся мне, что пояснять значение этого слова не требуется.

Если Вы помните, в прошлой записи Мы создали класс под названием car(). Можно догадаться, что любой сотворённый Вами или взятый откуда-то...
Аватар для Фаер
Старый
Рейтинг: 5.00. Голосов: 1.
Python. ООП. Часть 1.
Запись от Фаер размещена 04.11.2012 в 10:32
Показов 5347 Комментарии 0
Метки python, ооп

Думаю, каждый человек, считающий себя программистом, слышал о некоем объектно - ориентированном программировании(ООП). В последнее время данная парадигма усиленно проникает во все сферы разработки ПО, несмотря на то, что приёмы ООП, якобы, снижают производительность программ, в которых используются. Однако с каждым днём компьютеры...
Аватар для Фаер
Новые блоги и статьи
[golang] Двоичная куча, min-heap
alhaos 20.05.2026
Двоичная куча Двоичная куча — структура данных, которая всегда держит самый важный элемент наготове. Представьте очередь к хилеру в игре, и очередь из игроков в приоритете те у кого меньше. . .
[golang] Breadth-First Search
alhaos 19.05.2026
BFS (Breadth-First Search) — это базовый алгоритм обхода графа в ширину, который поуровнево исследует все связанные вершины. Он начинает с выбранной точки и проверяет всех соседей, прежде чем. . .
[golang] Алгоритм «Хак Госпера»
alhaos 17.05.2026
Алгоритм «Хак Госпера» Хак Госпера (Gosper's Hack) — алгоритм нахождения следующего по величине числа с тем же количеством установленных бит. Придуман Биллом Госпером в 1970-х, опубликован в. . .
Рисование бинарного древа до 6-го колена на js, svg.
russiannick 17.05.2026
<svg width="335" height="240" viewBox="0 0 335 240" fill="#e5e1bb"> <style> <!]> </ style> <g id="bush"> </ g> </ svg> function fn(){ let rost;/ / высота древа let xx=165,yy=210,w=256;
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru