Найти тему

Собственные типы данных

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

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

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

Например, в Lazarus (да и вообще в любой среде разработки, которая использует вариации Паскаля), новый тип данных можно создать так:

type ИмяНовогоТипаДанных = ОпределениеТипа;

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

type TMonths = 1..12;

Здесь мы определи новый тип данных с именем TMonths, и этот тип у нас может содержать целые числа в диапазоне 1..12. Затем можно создать переменную этого типа и работать с ней как обычно в вашей программе:

var Jan : TMonths = 1;

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

Здесь мы попытались переменной Jan, которая имеет тип TMonths присвоить значение 15. Однако наш тип может содержать только значения в диапазоне 1..12. Поэтому компилятор выдаст предупреждение. Да, программа будет создана. Но предупреждение скажет программисту, что он, скорее всего, ошибся, присвоив переменной слишком большое значение (ведь в году всего 12 месяцев). А вот если бы вы использовали даже самый маленький тип byte, то никакого предупреждения бы не было.

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

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.