You have been tasked with implementing a class called `ReactiveProperty`, which is a generic class that extends the `ReactiveValue` class. The `ReactiveProperty` class represents a property whose value can dynamically change and can react to changes.

The `ReactiveProperty` class has the following attributes and methods:

Attributes:
- `init_value` (optional): A value of type `T` that represents the initial value of the reactive property. Defaults to `Nothing`.
- `read_only`: A boolean value indicating whether the reactive property is read-only or not. If `True`, the property cannot be modified after initialization. If `False`, the property can be modified. Defaults to `False`.
- `modifier`: A function that takes any input and returns a `Modifier` object. The `Modifier` object is responsible for modifying the input before storing it in the reactive property. The default implementation of the function is the identity function (`lambda _: identity`), which means the input is not modified.
- `validator`: A function that takes two arguments, the current value of the reactive property and the new value being assigned. It returns the validated value that will be stored in the reactive property. The default implementation of the function is `lambda _, v: v`, which means no validation is performed.

Methods:
- `__init__`: The class constructor that initializes the `ReactiveProperty` object. It takes four parameters:
  - `init_value` (optional): The initial value of the reactive property. Defaults to `Nothing`.
  - `read_only` (optional): A boolean value indicating whether the reactive property is read-only or not. Defaults to `False`.
  - `modifier` (optional): A function that modifies the input before storing it in the reactive property. Defaults to the identity function (`lambda _: identity`).
  - `validator` (optional): A function that validates the new value being assigned to the reactive property. Defaults to `lambda _, v: v`.

Your task is to implement the `ReactiveProperty` class according to the given specifications.
0982e39f-758c-4022-863c-7831af244eba
Перед вами была поставлена задача реализовать класс под названием `ReactiveProperty`, который является универсальным классом, расширяющим класс `ReactiveValue`. Класс ReactiveProperty представляет собой свойство, значение которого может динамически изменяться и реагировать на изменения.

Класс `ReactiveProperty` имеет следующие атрибуты и методы:

**Атрибуты**:

- `init_value` (необязательно): значение типа `T`, представляющее начальное значение свойства reactive. По умолчанию равно `Nothing`.
- `read_only`: Логическое значение, указывающее, доступно ли свойство reactive только для чтения. Если значение `True`, то свойство не может быть изменено после инициализации. Если значение `False`, то свойство может быть изменено. По умолчанию используется значение `False`.
- `modifier`: Функция, которая принимает любые входные данные и возвращает объект `modifier`. Объект `modifier` отвечает за изменение входных данных перед сохранением их в свойстве reactive. Реализацией функции по умолчанию является функция идентификации (`lambda _: identity`), что означает, что входные данные не изменяются.
- `validator`: функция, которая принимает два аргумента: текущее значение реактивного свойства и присваиваемое новое значение. Она возвращает проверенное значение, которое будет сохранено в реактивном свойстве. По умолчанию функция реализована как `lambda _, v: v`, что означает, что проверка не выполняется.

**Методы**:

- `__init__`: Конструктор класса, который инициализирует объект `ReactiveProperty`. Он принимает четыре параметра:
- `init_value` (необязательно): Начальное значение свойства `reactive`. По умолчанию равно Nothing.
- `read_only` (необязательно): логическое значение, указывающее, доступно ли свойство reactive только для чтения. По умолчанию используется значение False.
- `modifier` (необязательно): Функция, которая изменяет входные данные перед сохранением их в свойстве reactive. По умолчанию используется функция идентификации (`lambda _: identity`).
- `validator` (необязательно): функция, которая проверяет новое значение, присваиваемое свойству `reactive`. По умолчанию используется `lambda _, v: v`.

Ваша задача - реализовать класс `ReactiveProperty` в соответствии с заданными спецификациями.

submitted
Вам поручено внедрить класс под названием `ReactiveProperty` (невозможно): Значение типа `T`, которое представляет собой начальное значение реактивного свойства. Дефолт к `Nothing. - `Read_only `: Булевое значение, которое указывает, является ли значение реактивного свойства динамически изменяющимся и может реагировать на изменения. Если `TrueProperty class имеет следующие атрибуты и методы: - `ReactiveProperty ` (невозможно): Значение типа `T`, которое представляет начальное значение реактивного свойства. Дефолт к `Nothing. - `Nothing. - ` `: Булевое значение, указывающее, является ли значение реактивного свойства только для чтения или нет. Если `T
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}