Чтение онлайн

на главную - закладки

Жанры

Программирование на Objective-C 2.0
Шрифт:

Если процедура NSLog обнаруживает символы %i внутри строки символов, она автоматически выводит значение следующего переданного ей аргумента. Поскольку следующим аргументом для NSLog является переменная sum, ее значение автоматически выводится после текста «The sum of 50 and 25 is».

Теперь попытайтесь предсказать, что выведет программа 2.5. #import <Foundation/Foundation.h> int main (int argc, const char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int value 1, value2, sum; valuel = 50; value2 = 25; sum = valuel + value2; NSLog (@"The sum of %i and %i is %i", valuel, value2, sum); [pool drain]; return 0; }

Вывод программы 2.5 The sum of 50 and 25 is 75

Второй оператор программы внутри main определяет три переменные с именами valuel, value2 и sum, и все они имеют тип int. Этот оператор эквивалентен трем операторам: int valuel; int value2; int sum;

После определения этих переменных программа присваивает значение 50 переменной valuel и значение 25 переменной value2. Затем вычисляется сумма этих переменных, и результат присваивается переменной sum.

Вызов процедуры NSLog теперь содержит четыре аргумента. Здесь тоже первый аргумент, который обычно называют строкой формата (format string), указывает системе, как выводить остальные аргументы. Значение value 1 должно быть выведено непосредственно после фразы «The sum of». Аналогичным образом, значения value2 и sum должны быть выведены в местах, указанных следующими двумя экземплярами символов %i в строке формата. Упражнения

Введите и выполните пять программ, описанных в этой главе. Сравните выходные результаты каждой программы с выводом, показанным после каждой программы.

Напишите программу, которая выводит следующий текст: In Objective-C, lowercase letters are significant, main is where program execution begins. Open and closed braces enclose program statements in a routine. All program statements must be terminated by a semicolon. (B Objective-C строчные буквы отличаются от прописных.

Выполнение программы происходит в main.

Операторы программы находятся между открывающей и закрывающей фигурными скобками.

Все операторы программы должны заканчиваться символом «точка с запя-той».

Какие результаты выведет следующая программа? #import <Foundation/Foundation.h> int main (int argc, const char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init; int i; i= 1; NSLog ((^"Testing..."); NSLog (@"....%Г, i); NSLog ((§>"...%i", i + 1); NSLog (@"..%Г\ i + 2); [pool drain]; return 0; }

Напишите программу, которая вычитает значение 15 из 87 и выводит результат вместе с сообщением.

Укажите синтаксические ошибки в программе, затем введите и выполните исправленную программу, чтобы убедиться, что выявлены все ошибки. #import <Foundation/Foundation.h> int main (int argc, const char *argv[]); { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; INT sum; /* COMPUTE RESULT // sum = 25 + 37- 19 / DISPLAY RESULTS / NSLog (@'The answer is %i', sum); [pool drain]; return 0; }

Какие результаты выведет следующая программа? #import <Foundation/Foundation.h> int main (int argc, const char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int answer, result; answer = 100; result = answer - 10; NSLog (@"The result is %i\n", result + 5); [pool drain]; return 0; }

Глава 3. Классы, объекты и методы

В этой главе вы узнаете о ключевых концепциях в объектно-ориентированном программировании, начнете работать с классами в Objective-C и познакомитесь с основной терминологией. Мы опишем только базовые терминов, чтобы не перегружать вас излишней информацией. Подробное и точное определение терминов см. в «Словаре» (приложение А). 3.1. Понятие объекта

Объект (object) — это определенная «вещь». В объектно-ориентированном про-граммировании объект — это и вещь, и действия, которые с ней можно делать. Этим объектно-ориентированные языки программирования отличаются, на-пример, от языка С, который является процедурным языком. В С сначала думают о том, что хотят сделать, и только затем заботятся об объектах, что почти противоположно объектно-ориентированному подходу.

Рассмотрим пример из повседневной жизни. Предположим, у вас есть авто-мобиль. Это объект, которым вы владеете. Это не какой-либо произвольный автомобиль; это определенный автомобиль, который собран на заводе в Детройте или в Японии, или где-то еще. У него есть идентификационный номер (vehicle identification number, VIN), который уникально идентифицирует этот автомобиль.

В объектно-ориентированной терминологии ваш автомобиль является эк-земпляром (instance) автомобиля. Развивая эту терминологию, автомобиль (саг) — имя класса, из которого этот экземпляр был создан. При выпуске каждого нового автомобиля создается новый экземпляр данного класса автомобилей, и каждый экземпляр автомобиля называется объектом.

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

Действия, приведенные в таблице 3.1, можно выполнять с вашим автомобилем и с любыми другими автомобилями. Например, ваша сестра водит свой автомобиль, моет его, заправляет его бензином и т.д. Объект Что вы делаете с ним Ваш автомобиль Водите. Заправляете бензином. Моете. Выполняете техническое обслуживание. 3.2. Экземпляры и методы

Уникальная реализация класса - это экземпляр. Действия, которые выполняются над экземпляром, называются методами (method). В некоторых случаях метод может применяться к экземпляру класса или к самому классу. Например, мытье автомобиля применяется к экземпляру (все методы, перечисленные в таблице 3.1, являются методами для экземпляра). Определение количества типов автомобилей, выпускаемых изготовителем, применяется к классу, то есть это метод для класса.

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

Поделиться:
Популярные книги

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Кодекс Охотника. Книга XXI

Винокуров Юрий
21. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXI

Наследник хочет в отпуск

Тарс Элиан
5. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник хочет в отпуск

Локки 9. Потомок бога

Решетов Евгений Валерьевич
9. Локки
Фантастика:
фэнтези
попаданцы
героическая фантастика
боевая фантастика
5.00
рейтинг книги
Локки 9. Потомок бога

Легат

Прокофьев Роман Юрьевич
6. Стеллар
Фантастика:
боевая фантастика
рпг
6.73
рейтинг книги
Легат

Золото Советского Союза: назад в 1975

Майоров Сергей
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Золото Советского Союза: назад в 1975

Я до сих пор князь. Книга XXII

Дрейк Сириус
22. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я до сих пор князь. Книга XXII

Долг

Кораблев Родион
7. Другая сторона
Фантастика:
боевая фантастика
5.56
рейтинг книги
Долг

Имперец. Том 1 и Том 2

Романов Михаил Яковлевич
1. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Имперец. Том 1 и Том 2

Медицинский триллер-2. Компиляция. Книги 1-26

Градова Ирина
Медицинский триллер
Детективы:
триллеры
криминальные детективы
медицинский триллер
5.00
рейтинг книги
Медицинский триллер-2. Компиляция. Книги 1-26

Отверженный. Дилогия

Опсокополос Алексис
Отверженный
Фантастика:
фэнтези
7.51
рейтинг книги
Отверженный. Дилогия

Гримуар тёмного лорда I

Грехов Тимофей
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Гримуар тёмного лорда I

Я - злодейка в дораме. Сезон второй

Вострова Екатерина
2. Выжить в дораме
Фантастика:
уся
фэнтези
сянься
попаданцы
5.00
рейтинг книги
Я - злодейка в дораме. Сезон второй

Неофит

Листратов Валерий
3. Ушедший Род
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Неофит