Свойства и характеристики

В обычном языке «свойство» и «характеристика» часто почти синонимы. Но для строгой схемы их лучше развести жёстче.

Главное различение:

Свойство — это то, что относится к устройству объекта.
Характеристика — это то, что описывает конкретное состояние объекта или его содержимого.

На примере массива:

массив = [7, 3, 9, 1, 5]

1. Свойства массива

Свойства отвечают на вопрос:

Что у массива есть как у структуры?
Как он устроен?
Что с ним в принципе можно делать?

Например:

у массива есть элементы
у элементов есть индексы
у массива есть длина
у массива есть порядок элементов
массив допускает доступ по индексу
массив может быть фиксированного или изменяемого размера

То есть это свойства самой формы массива.

Например:

индексируемость — свойство массива
наличие порядка — свойство массива
наличие длины — свойство массива

2. Характеристики массива

Характеристики отвечают на вопрос:

Что можно сказать о данном конкретном массиве сейчас?
Что получается из его текущего содержимого?

Например для массива:

[7, 3, 9, 1, 5]

характеристики такие:

длина = 5
минимальное значение = 1
максимальное значение = 9
сумма = 25
среднее = 5
массив не отсортирован
повторов нет

То есть характеристика — это уже описание конкретного состояния.

Важный момент

Одно и то же слово может стоять на двух уровнях.

Например, длина.

У массива есть свойство "длина".
У конкретного массива характеристика: длина = 5.

То есть:

"длина" как возможность/параметр структуры → свойство
"длина = 5" у конкретного массива → характеристика

То же самое с размером:

массив имеет размер        → свойство
размер этого массива = 10  → характеристика

А минимальное значение?

Минимальное значение — это не базовое свойство массива как структуры.

Массив как структура не обязан «иметь минимум» внутри себя. Он просто хранит элементы по индексам.

Но у конкретного массива можно вычислить характеристику:

минимальное значение = 1

Значит:

минимальное значение массива → характеристика содержимого
найти минимальное значение   → операция

Самое короткое различение

Свойство: что у объекта есть по устройству.
Характеристика: что можно сказать о конкретном объекте сейчас.
Операция: что мы делаем, чтобы что-то получить или изменить.

На массиве:

Массив имеет свойство: элементы расположены по индексам.
Массив имеет характеристику: минимальный элемент равен 1.
Операция: пройти по массиву и найти этот минимальный элемент.

То есть в схеме можно держать так:

СВОЙСТВА СТРУКТУРЫ:
- есть индексы
- есть элементы
- есть порядок
- есть длина
- возможен доступ по индексу

ХАРАКТЕРИСТИКИ ТЕКУЩЕГО СОДЕРЖИМОГО:
- длина = N
- минимум = X
- максимум = Y
- сумма = S
- отсортирован / не отсортирован
- есть повторы / нет повторов

ОПЕРАЦИИ:
- прочитать элемент
- изменить элемент
- пройти по элементам
- найти минимум
- найти максимум
- посчитать сумму
- отсортировать

Главная фиксация:

Свойство ближе к форме.
Характеристика ближе к состоянию.
Операция ближе к действию.
Прокрутить вверх