ПРОГРАММИРОВАНИЕ ПОД IPHONE, IPAD OBJECTIVE-C Часть 1

Концепция Objective-C

 До сих пор нам приходилось работать с простыми типами данных. Но для написания полноценной программы наших знаний недостаточно. Что если вы захотите написать программу-аудиоплеер, она будет работать с такими сущностями как: песни, плейлисты, исполнители т.д.? Или что, если ваше приложение управляет светофорами и всем, что касается автомобильного движения? Правда, было бы неплохо иметь возможность манипулировать такими вещами в Objective-C, также легко как мы работаем с числами?

В этом основное преимущество объектов. C Objective-C, вы можете определить тип объектов, с которыми вам нужно работать, а затем написать приложение работающее с этими объектами.
Давайте взглянем на то, как окна обрабатываются в программах написанных на Objective-C, таких как Finder.
Взглянем на окно Finder в вашем Mac. Вверху слева, есть три кнопки. «Красная» — закрыть. Что же произойдет, если вы закроете окно, нажав красную кнопку? Сообщение будет направлено окну. В ответ на это сообщение, окно выполняет определенный код, с тем чтобы закрыть само себя.
Окно — это объект. Вы можете перемещать его по экрану. Эти три кнопки тоже объекты. Вы можете на них нажать. Эти объекты имеют визуальное представление на экране, но это не обязательно для всех объектов. Например, объект который обеспечивает соединение между Safari и выбранным сервером не имеет визуального представления на экране.
Объект (например окно) может содержать другие объекты (например кнопки).

Классы

Вы можете иметь столько окон браузера Safari, сколько вам захочется. Вы думаете, что программисты Apple:

  • Запрограммировали каждое из этих окон заранее, используя всю силу своего ума для прогноза, сколько же окон вы захотите открыть;
  • Сделали своего рода шаблон и позволили Safari создавать объект окна из него на ходу.

Конечно правильный ответ под номером 2. Они создали некоторый код, называемый классом, который описывает что такое окно, как оно выглядит и ведет себя. Когда вы создаете новое окно, на самом деле этот класс создает его для вас. Этот класс представляет абстрактное окно и любое конкретное окно на самом деле – это экземпляр этого класса (как, например, 76 это просто экземпляр абстрактного класса «число»).

Реквизиты

Созданные вами окна располагаются в определенном месте экрана. Если вы свернете окно в Dock, а затем развернете его, оно займет на экране ровно ту позицию что и раньше. Как это работает? Класс определяет реквизиты предназначенные для хранения положения окна на экране. Экземпляр класса (объект) хранит определенные значения в этих реквизитах. Таким образом каждый объект хранит свои значения в соответствующих реквизитах и в общем случае для разных окон значения этих реквизитов будут разными.

Методы

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

Объекты в памяти

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

Comments are closed.