Кочан Стивен - Программирование на Objective-C 2.0 стр 2.

Шрифт
Фон

Xcode это мощное приложение, позволяющее вводить, компилировать, от-лаживать и выполнять программы. Если вы намерены разрабатывать приложения на Маке, вам необходимо освоить это мощное инструментальное средство. Здесь вы только ознакомитесь с ним, в дальнейшем мы разработаем с его помо-щью одно графическое приложение. Xcode находится в папке Developer внутри подпапки Applications. На рис. 2.1 показан значок Xcode. Запустите Xcode. В меню File (Файл) выберите New Project (Новый проект), см. рис. 2.2.

Рис. 2.1. Значок Xcode

Появится окно, показанное на рис. 2.3.

Рис. 2.2. Запуск нового проекта

Рис. 2.3. Запуск нового проекта: выбор типа приложения

Выполните прокрутку в левой панели, пока не появится Command Line Utility (Утилита командной строки). В правой панели выделите Foundation Tool. Теперь появится окно, показанное на рис. 2.4.

Рис. 2.4. Запуск нового проекта: создание инструмента Foundation

Щелкните на Choose (Выбрать). Появится новое окно (рис. 2.5).

Рис. 2.5. Окно списка файлов Xcode

Мы назовем эту программу progl. Введите это имя в поле Save As (Сохранить как). Возможно, для проектов этой книги следует создать отдельную папку. Я держу проекты для этой книги в папке ObjC Progs.

Щелкните на кнопке Save (Сохранить), чтобы создать новый проект. По-явится окно проекта (рис. 2.6).

Ваше окно может выглядеть по-другому, если вы уже работали с Xcode или изменяли какие-то параметры Xcode.

Теперь пора ввести первую программу. Выберите файл progl.m в правой вер-хней панели. Окно Xcode показано на рис. 2.7.

В таблице 2.1 приводится список распространенных расширений имен файлов. Расширение имени для исходных файлов Objective-C .m.

Табл. 2.1. Распространенные расширения имен файлов РасширениеОписание .c Исходный файл на языке С .cc, .cpp Исходный файл на языке C++ .h Файл заголовка (Header) .m Исходный файл Objective-C .mm Исходный файл Objective-C++ .pl Исходный файл Perl .o Объектный (компилированный) файл

Рис. 2.6. ОКНО проекта Xcode prog1

Рик. 2.7. Файл progl.m и окно редактирования (edit)

В окне проекта Xcode (внизу справа) показан файл с именем progl.m, содержащий следующие строки: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; // insert code here... (введите здесь код) NSLog (@"Hello World!"); [pool drain]; return 0; }

Примечание. Если у вас не отображается содержимое этого файла, попробуйте щелкнуть и вытянуть нижнюю правую панель,

программы 3.2: // @interface section @interface Fraction: NSObject { int numerator; int denominator; } -(void) print; -(void) setNumerator: (int) n; -(void) setDenominator: (int) d; @end

Имя нового класса Fraction, его родительский класс NSObject. (Подробнее о родительских классах см. главе 8.) Класс NSObject определен в файле NSObject.h, который автоматически включается в программу, когда вы импортируете Foundation, h. Переменные экземпляров

В секции «объявления-членов» указывается, какие типы данных содержатся в классе Fraction, и имена этих типов данных. Эта секция находится внутри соб-ственной пары фигурных скобок. Для класса Fraction эти объявления указывают, что объект Fraction содержит два целых элемента, которые называются numerator (числитель) и denominator (знаменатель): int numerator; int denominator;

Члены, которые объявляются в этой секции, называются переменными эк-земпляров. Каждый раз, когда вы создаете новый объект, создается новый уни-кальный набор переменных экземпляра. Поэтому, если у вас имеются два объекта Fraction, один из которых называется fracA, а второй fracB, каждый из них содержит свой собственный набор переменных экземпляра. Таким образом, fracA и fracB будут иметь свои собственные числитель и знаменатель (numerator и denominator). Система Objective-C автоматически следит за этим, и это -одно из наиболее важных преимуществ работы с объектами. Методы класса и методы экземпляра

Определим методы для работы с дробями. Нам нужно задавать для дроби опре-деленное значение. Поскольку у нас нет непосредственного доступа к внутрен-нему представлению дроби (иначе говоря, непосредственного доступа к пере-менным экземпляра), нужно написать методы, которые задают числитель и знаменатель, и написать метод с именем print, который будет выводить значение дроби. Объявление метода print в файле интерфейса выглядит следующим образом: -(void) print;

Знак «минус» (-) указывает компилятору Objective-C, что данный метод яв-ляется методом экземпляра. Знак «плюс» (+) указывает на метод класса. Метод класса выполняет определенную операцию над самим классом, например, создает новый экземпляр данного класса. Это аналогично производству нового автомобиля в том смысле, что автомобиль (саг) это класс, и создание нового автомобиля является методом класса.

Метод экземпляра выполняет определенную операцию для определенного экземпляра класса, например, задает его значение, читает его значение, выводит на экран его значение и т.д. Возвращаемые значения

При объявлении нового метода вы должны сообщить компилятору Objective С, будет ли метод возвращать значение, и если да, то указать тип возвращаемого значения. Для этого нужно заключить тип возвращаемого значения в круглые скобки после ведущего символа «минус» или «плюс». Приведенное ниже объявление указывает, что метод экземпляра с именем retrieveNumerator возвращает целое значение. -(int) retrieveNumerator;

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке