Сделать стартовой Добавить в избранное
 
Панель управления
логин :  
пароль :  
   
   
Регистрация
Напомнить пароль?
Статьи по Windows 9x Me XP 2003 Longhorn Vista Linux FreeBSD Apache MySQL хостинг PHP Perl » Webmaster » Perl » Что такое тип данных
Навигация по сайту
Главная Софт
Форум FeedBack
 
Расширенный поиск
Календарь
«    Октябрь 2007    »
ПнВтСрЧтПтСбВс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
Популярные статьи
 

 

Webmaster » Perl : Что такое тип данных
 
Тип данных определяет, что из себя представляет значение и позволяет узнать, каким образом его можно(нужно) обработать. Типы подразделяются на две категории: базовые и пользовательские.

Первая категория - это встроенные типы значений, которые известны компилятору (или интерпретатору). Это значит, что компилятор (интерпретатор) знает каким образом нужно обрабатывать те или иные значения и какие операции можно выполнять с этими значениями, а какие нельзя. Набор базовых типов специфичен для разных компиляторов. Иначе говоря, программе написанной на одном языке доступен набор типов, который может отличаеться от программы написанной на другом языке. И все же, можно выделить два базовых типа, характерных для подавляющего большинства языков программирования. Это числовой и строковый типы. Кому-то может показаться, что такое разделение излишне - ведь и число можно хранить в виде строки.

На этом этапе важно понять, что разные языки предназначены для разных уровней разработки. Например, в языках высокого уровня (таких как perl) не имеет значения строковые данные хранит переменная или числовые. Компилятор (или интерпретатор) самостоятельно определяет как ему интерпретировать значение в зависимости от контекста. Если необходимо выполнить арифметическое сложение, то выполняется попытка преобразовать значение переменной к числовому типу. Если же выполняется конкатенация или интерполяция строки, то любой числовой операнд будет автоматически преобразован к строковому типу.

Для языков более низкого уровня такое разделение более характерно, так как команды процессора работают с числами и строками по разному. А если спустится на самый нижний уровень (то есть на уровень команд процессора, которые в конечном итоге представляют любую программу не зависимо от языка разработки) 32х разрядных процессоров, то такое разделение просто необходимо. Необходимость разделения этих двух типов диктуется тем, что, как я уже говорил, числовые и строковые данные по разному хранятся в памяти. Помимо того, на уровне ассемблера мы увидим всего три типах данных: байт, слово и двойное слово. Последние два представляют собой типы, состоящие из нескольких экземпляров типа байт. Слово состоит из двух, а двойное слово, соответственно, из четырех байт. То есть, в конечном итоге, данные любого типа преобразуются к одному из этих трех числовых типов. Теперь должно быть понятно, почему говорят, что компьютер работает только с числами.

Методика представления символьных (или текстовых) данных в компьютере не так проста, как может показаться на первый взгляд. Во всяком случае, работать со строками гораздо сложнее, нежели с целыми числами. Большинство компиляторов реализуют свои механизмы работы с символьными данными, скрывая от программиста рутинный часто-использующийся код.

Как же хранится в памяти строковое значение? Любой текст состоит из символов и представляет собой определенную последовательность, для которой порядок расположения имеет первостепенное значение. Если не учитывать порядок то смысл текста будет утерян. Каждый символ определяется числовым значением - кодом. Теперь мы можем представить строку как последовательность чисел. Ну а с числами мы уже разобрались.

Теперь давайте разберемся со второй категорией типов данных - пользовательскими типами. Прилагательное "пользовательские" не совсем ясно отражает суть этой категории типов на данном этапе рассмотрения, правильнее было бы называть эти типы расширенными. Однако, это определение сразу же проясняется, когда мы начинаем говорить об этих типах как о наборах, состоящих из базовых типов. Проще всего уяснить суть на примерах. Для простоты мы будем рассматривать программу на языке perl, в котором тип единичного значения не существенен. Например, название улицы, номер дома и номер квартиры можно объединить в набор, представляющий собой новый тип значения - "адрес проживания". При этом, заметьте, что составные элементы нового типа представляют собой значения базовых типов: одного строкового и двух числовых. Однако, компилятор (или интерпретатор) не знает как обрабатывать новый тип "адрес проживания", он лишь знает как его хранить (так как знает способ хранения данных базовых типов). Программист должен реализовать механизм обработки самостоятельно.

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

Использование пользовательских типов данных является промежуточным этапом на пути к исследованию методологии объектно-ориентированного программирования. Этот этап относится к специфики модульного программирования. В качестве примера можно привести язык С, в котором введено понятие структур - возможности описания пользовательских типов, построенных на основе базовых. Структуры в C позволяют не только определять наборы, но также идентифицировать наборы и манипулировать ими на уровне единиц.

Следующим этапом эволюции в программирования было введение понятия класса данных. Методики объектно-ориентированного подхода в программировании очень хорошо просматриваются в языке C++. Считайте класс развитием структуры из C. Структуры позволяли только описывать данные, в то время как класс позволяет не только строить новые типы на основе базовых, но и определять методы обработки нового типа данных. Такое объединение данных и методов принято называть инкапсуляцией.
 
 
 
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
 
 
  • Что такое переменная
  • Типы данных в MySQL
  • Ассоциативные массивы в Perl
  • Регулярные выражения в perl
  • Общие Рекомендации Защиты (MySQL и SQL Web-интерфейс)
  •  
     
     (голосов: 0)
    Комментарии (0)  Распечатать
     
     
    Добавление комментария
       
     

    РАЗДЕЛЫ СТАТЕЙ
    На нашем сайте Вы можете почитать интересные статьи о разных операционных системах и не только о них.
     
    WINDOWS 98 - Все об ОС версии 9x - настройка, скрытые возможности, оптимизация, рекомендации и многое другое...
    FAQ   Безопасность   Восстановление   Другое   Настройка   Оптимизация   Установка


    WINDOWS 2000 - установка, настройка, оптимизация, ускорения работы, администрирование и многое другое.
       FAQ   Администрирование   Безопасность   Восстановление   Настройка   Оптимизация   Разное   Установка


    WINDOWS 2003 - настройка, полные обзоры данной ОС, оптимизация, скриншоты, FAQ...
       FAQ   Администрирование   Безопасность   Настрока   Разное   Установка


    WINDOWS XP - настройка, скрытые возможности, оптимизация, рекомендации и многое другое...
       FAQ   Безопасность   Восстановление   Другое  Настройка   Оптимизация   Установка


    WINDOWS Vista - установка, настройка, оптимизация, рекомендации и многое другое...
       FAQ   Другое   Обзор системы   Установка


    UNIX - установка, настройка, рекомендации и многое другое...
       Linux   FreeBSD   Сетевые технологии   Открытое программное обеспечение   Интернет   Разное   FAQ


    Администратору / пользователю - практические советы по работе с софтом железом и пр...
       Hardware   Internet   lan&more   Software    Exchange Server    Windows Server 2008


    Windows Server - Советы и рекомендации по настройке Windows серверов
       Exchange Server    Windows Server 2008    ISA Server


    Веб-мастеру - Apache, ASP, Flash, MySQL, хостинг и многое другое...
       Apache   ASP   Разное   Flash   Java/CSS/HTML/DHTML   MySQL   Хостинг   Perl   PHP
     
      Если после прочтения статьи у Вас возникли вопросы/предложения/дополнения, Вы можете изложить их на нашем форуме в соответствующем разделе.
    Если Вы являетесь автором статьи которая размещена на нашем портале незаконно, просим Вас сообщить нам об этом.