Определение класса

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

Вы обычно называете интерфейс и файлы реализации после класса. Поскольку это включено в другие исходные файлы, имя интерфейсного файла обычно имеет .h расширение, типичное для заголовочных файлов. Имя файла реализации имеет a .m расширение, указывая, что это содержит исходный код Objective C. Например, MyClass класс был бы объявлен в MyClass.h и определенный в MyClass.m.

Интерфейс

В интерфейсе Вы делаете несколько вещей:

  • Вы называете класс и его суперкласс.

    Можно также указать любые протоколы, которым соответствует класс (см. Протокол).

  • Вы указываете переменные экземпляра класса.

  • Вы указываете методы и объявленные свойства (см. свойство Declared), которые доступны для класса.

В интерфейсном файле Вы сначала импортируете любые требуемые платформы. (Это часто будет справедливо Cocoa/Cocoa.h.) Вы запускаете объявление самого интерфейса класса с директивой компилятора @interface и закончите его с директивой @end.

#import <Cocoa/Cocoa.h>
 
@interface MyClass : SuperClass {
    int integerInstanceVariable;
}
+ (void)aClassMethod;
- (void)anInstanceMethod;
 
@end

Реализация

Принимая во внимание, что Вы объявляете методы класса в интерфейсе, Вы определяете те методы (т.е. запишите код для реализации их) в реализации.

В интерфейсном файле Вы сначала импортируете любые требуемые заголовочные файлы. (Минимально это будет заголовочным файлом Вашего класса.) Вы запускаете реализацию класса с директивой компилятора @implementation и закончите его с директивой @end.

#import "MyClass.h"
 
@implementation MyClass
 
+ (void)aClassMethod {
    printf("This is a class method\n");
}
 
- (void)anInstanceMethod {
    printf("This is an instance method\n");
    printf("The value of integerInstanceVariable is %d\n", integerInstanceVariable);
}
 
@end

Необходимые как условие статьи

    (Ни один)

Категорическое обсуждение