русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Typedef struct


Дата добавления: 2014-10-07; просмотров: 741; Нарушение авторских прав


{char Name[8]:

int Age;

float SkillRating;

} EmployeeType;

определяет новый тип под названием EmployeeType, состоящий из неоднородной структуры, содержащей Name (Имя), Age (Возраст) и SkillRating (Уровень знаний). При помощи этого нового типа можно объявлять переменные в точности так же, как переменные примитивных типов. В частности, переменная Employee объявляется в следующем операторе:

EmployeeType Employee;

Преимущества такого пользовательского типа данных становятся заметнее при объявлении нескольких переменных. Так же, как на языке С программист может объявить Sleeve, Waist и Neck как переменные примитивного типа real в операторе

float Sleeve, Waist. Neck;

оператор

EmployeeType DistManager, SalesRepl, SalesRep2;

определяет три переменные — DistManager, SalesRepl и SalesRep2, как переменные типа EmployeeType.

Важно разделять определение пользовательского типа данных и фактические элементы данных этого типа. Последние называются экземплярами этого типа (instance). Определение пользовательского типа данных — это шаблон, который используется для создания экземпляров этого типа. Он описывает свойства, общие для всех экземпляров такого типа, но не объявляет реальный элемент, обладающий этими свойствами (так же, как шаблон для вырезания печенья используется для создания печенья, но сам им не является). В предыдущем примере пользовательский тип EmployeeType использован для создания трех экземпляров этого типа, известных под именами DistManager, SalesRepl и SalesRep2.

Классы

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



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

Листинги 1 и 2 показывают, как класс с именем StackOfIntegers может быть определен на языках C++, С# и Java. Далее мы вкратце рассмотрим подробности этих примеров, но сейчас заметим лишь, что в каждом примере в классе StackOfIntegers определены две переменные экземпляра (массив целых чисел с названием StackEntries и целое число StackPointer, которое используется для идентификации вершины стека внутри массива —, две процедуры (с именами push и pop) и конструктор, который устанавливает максимальный объем стека при создании каждого экземпляра стека.

Листинг 1. Стек целых чисел (реализация на C++)1



<== предыдущая лекция | следующая лекция ==>
Пользовательские типы данных | Int pop ( )


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.208 сек.