Главная » Статьи для тега "класса"

Переопределение  методов Objective-C

Добавлено Дата: 12 May, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Итак, при отправке сообщения поиск метода С указанным именем начинается с класса объекта и переходит вверх по цепочке наследования. Выполняется первая найденная реализация; это означает, что унаследованные методы можно переопределять пользовательским реализациями. Допустим, вы решили, что индекс массы тела работников всегда должен быть равен 19. для этого метод bodyMassIndex можно переопределить в классе Employee. Откройте файл Employee.m и внесите изменения:

Читать »

Генерация исходного кода компонента приложение просмотра классов в CBuilder

Добавлено Дата: 10 May, 2013 категория: C++, C++ Builder

Когда пользователь нажимает кнопку OK страничного диалога, он подразумевает, что приложение в ответ на это сгенерирует ему код для нового компонента. Очевидно, что сначала программа должна провести некоторые проверки (например, проверить, введены ли имена исходного и заголовочного файла), но в основном она будет оставлять введенные вами значения на вашей совести, не пытаясь их исправлять. Если, например, вы задали недопустимые имена для свойств, программа позволит сгенерировать эти свойства. Это неизбежная расплата за объем работы по написанию приложения — чем больше в программе проверок, тем труднее ее написать, а главное, отладить. Естественно, никто не собирается ограничивать свободу вашего творчества — если вы захотите сделать программу более строгой — пожалуйста.  Если  вы  сможете  довести ее  до ума,

Читать »

Работа со связными списками STL

Добавлено Дата: 2 May, 2013 категория: C++, C++ Builder

Следующий важный компонент STL, который мы собираемся рассмотреть — класс list (список). Это тот самый всем знакомый односвязный список, который каждый из программистов или его брат, или сестра должны были написать для начального курса программирования. Основная идея списка в том, что у вас есть стартовая точка (обычно называемая головой, head, списка) и затем серия элементов в списке (называются вершинами, nodes, списка). Каждое элемент содержит указатель на следующий элемент, так что по списку можно легко перемещаться в одном направлении.

Читать »

Сохранение данных – приложение просмотра классов в CBuilder

Добавлено Дата: 1 May, 2013 категория: C++, C++ Builder

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

Читать »

Для любознательных: ручной подсчет ссылок и история ARC Objective-C

Добавлено Дата: 29 April, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Как упоминалось в начале главы 19, до появления в Objective-C механизма автоматического подсчета ссылок ARC (Automatic Rеfегепсе Counting) использовался ручной подсчет ссылок, при котором владельцы изменялись только при явной отправке объекту сообщения, уменьшавшего или увеличивавшего счетчик ссылок.

Читать »

Небольшое отступление: С++ и именованные области видимости

Добавлено Дата: 28 April, 2013 категория: C++, C++ Builder

Мы уже рассматривали два способа работы с именованными областями (namespaces) в STL, тем не менее крайне важно для вас понять последующее рассуждение. В C++ namespace — что-то вроде сверхкласса, который содержит вложенные классы. Например, так мы создаем сверхкласс с именем fred:

Читать »

Управление  памятью Objective-C

Добавлено Дата: 25 April, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

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

Читать »

Справочные  страницы Objective-C

Добавлено Дата: 22 April, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Щелкните на кнопке  в верхней части левой панели Оrgаnizег, чтобы вызвать панель поиска. Введите условие поиска NSArray; ниже появляются результаты поиска. В разделе Reference щелкните на ссылке NSArray, чтобы просмотреть справочную страницу класса NSArray.

Читать »

Компоненты и обработчики событий компонентов

Добавлено Дата: 19 April, 2013 категория: C++, C++ Builder

Сердцем системы CBuilder является Visual Component Library (библиотека визуальных компонентов), или VCL, которая является как бы набором строительных блоков, включающим в себя такие компоненты, как формы (TForm), поля ввода (TEdit), списки (TListBox), управляющие элементы ActiveX, стандартные диалоги открытия и сохранения файлов. В предыдущих главах мы затронули некоторые компоненты VCL и их использование. Эта глава — головокружительное путешествие по VCL и обзор того, как VCL помогает решить каждодневные проблемы у программиста на CBuilder.

Читать »

Работа с таблицами STL

Добавлено Дата: 19 April, 2013 категория: C++, C++ Builder

Следующая вещь, с которой мы познакомимся в процессе разговора о STL — таблицы (или карты, maps). <Следующее высказывание построено на том, что по-английски этот класс STL называется map, то есть карта. В переводе же этот термин переводчик счел нужным заменить на таблицу. — Прим. пер.> Карты — это классно. Они говорят вам, как добраться из  Нью-Йорка  в  Колорадо самым коротким путем, а также где эта замечательная дорога уходит с хайвея. Они не дадут вам потеряться и помогут попасть туда, куда вы едете.

Читать »

Компонент FilterEdit в CBuilder

Добавлено Дата: 19 April, 2013 категория: C++, C++ Builder

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

Читать »

Сообщения Objective-C

Добавлено Дата: 14 April, 2013 категория: iPhone, Objective-C, Программирование для iOS и MacOS

Еще раз посмотрим на строки, в которых отправлялись эти сообщения с вызовами соответствующих методов:

NSDate *now = [NSDate date];

Метод date является методам класса. Иначе говоря, для выполнения этого метода сообщение отправляется самому классу NSDate. Метод date возвращает указатель на экземпляр NSDate.

Читать »

ЕЩЕ РАЗ ОБ ОБЪЕКТАХ И ОБЪЕКТНЫХ КЛАССАХ

Добавлено Дата: 5 September, 2012 категория: SQL, Базы данных

В этой главе определенные понятия, представленные в предыдущем разделе, описаны более подробно. Рассмотрим более сложный пример с двумя  объектными классами: DEPT (Отдел) и ЕМР (Сотрудник). Предположим, что в системе уже были описаны определяемые  пользователем  классы  MONEY  (Деньги)  и  JOB  (Работа),  а  класс  CHAR (Символьная переменная) является встроенным. Тогда операции, необходимые для создания классов DEPT и ЕМР, могут выглядеть следующим образом (с использованием некоторого гипотетического синтаксиса).

Читать »

ОБЪЕКТЫ, КЛАССЫ, МЕТОДЫ И СООБЩЕНИЯ

Добавлено Дата: 4 August, 2012 категория: SQL, Базы данных

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

Читать »

ВСЕОБЪЕМЛЮЩИЙ ПРИМЕР объектного подхода

Добавлено Дата: 21 July, 2012 категория: SQL, Базы данных

В предыдущей главе были представлены базовые концепции объектного подхода. В данной главе на исчерпывающем примере последовательно демонстрируется применение этих идей на практике, а именно: здесь показано, как определяется объектная база данных, как она пополняется данными и как в ней выполняются операции выборки и обновления данных. В  рассматриваемом  примере используются объектная СУБД GemStone (разработка корпорации GemStone Systems) и ее язык запросов OPAL [25.13]. Язык OPAL, в свою очередь, основан на языке Smalltalk [25.23].

Читать »