В объектно-ориентированном программировании , А файл реализация класса часто используются , чтобы содержать код реализации методы (ов) из в классе . Этот файл также называется исходным файлом . [ необходима цитата ] Языки программирования, такие как C и C ++, используют эти файлы реализации, чтобы разделить интерфейс и реализацию этих методов. [1]
Мотивация [ править ]
Используя эту структуру, также создается файл определения класса, содержащий объявление класса и его членов. Если определение класса было включено , и файл реализация для его методов доступен, пользователь может создать экземпляр в объекте класса. Цель этой структуры - скрыть код реализации, но позволить пользователю просматривать дизайн. [2] [3]
Пользователи используют общедоступный интерфейс объекта, чтобы максимально упростить создание объектов, гарантируя, что клиентский код не отвлекает пользователя ненужными деталями реализации класса. [4] Это позволяет пользователю получить информацию, необходимую для эффективного использования класса, но не дает ему повредить скомпилированный код. [5]
Структура файла реализации класса [ править ]
Файл реализации используется в программировании на C ++ при создании определения класса для отделения интерфейса от реализации. Заголовочный файл будет объявить все функции - члены (методы) и методы передачи данных (поля) , что класс имеет. [6] [7] [8]
Файл реализации будет содержать фактическое определение или исходный код методов, объявленных в файле заголовка . Этот файл может начинаться с блока заголовка, который предоставляет комментарии, описывающие цель определенного класса и любые подробности о создании фактического файла, такие как автор файла и дата создания файла. [9] Он также может включать любые библиотеки из стандартной библиотеки C ++, которые будут использоваться любым из методов, объявленных в файле. В файле реализации класса обычно есть строка для включения связанного файла заголовка (см. Примеры ниже).
Пример на C ++ [ править ]
Примером может быть класс с именем ExampleClass
. Заголовочный файл этого файла C ++ будет называться «example_class.h», а файл реализации - «example_class.cc». [10] [11]
Пример структуры example_class.cc будет выглядеть так:
#include "example_class.h"ExampleClass :: ExampleClass () = по умолчанию ;void ExampleClass :: AddSomething ( int k ) { ... }
В этом примере реализация функций опущена, но функции должны быть объявлены в example_class.h следующим образом: [12]
#include <строка>класс ExampleClass { общественности : ExampleClass (); // Конструктор. void AddSomething ( int k ); частный : std :: string name_ ; };
Пример в Objective-C [ править ]
Другой пример того, как будет структурирован файл реализации класса, можно увидеть с помощью Objective-C , который используется в программировании iOS . [13] В этом примере будет использоваться ExampleClass. Заметное различие между C ++ и Objective-C при использовании этих файлов реализации - это расширения, используемые в конце файлов. В C ++ это будет .cpp [14], а в Objective-C - .m , [15], но оба будут использовать одно и то же расширение .h для своих файлов заголовков [16] [17], как показано в пример ниже.
Это пример ExampleClass.h в Objective-C :
#import <UIKit / UIKit.h>@interface ExampleClass : NSObject { // объявления переменных экземпляра идут сюда } - ( NSString * ) имя ; @конец
Это пример файла реализации класса Exampleclass.m в Objective-C :
#import "ExampleClass.h"@implementation ExampleClass - ( NSString * ) имя { return @ "…" ; } @end
См. Также [ править ]
- Классы C ++
- Заголовочный файл
- Исходный код
- Стандартная библиотека C ++
- Цель-C
Ссылки [ править ]
- ^ Алан Гриффитс (2005). «Разделение интерфейса и реализации на C ++» . http://accu.org/index.php/journals/ : ACCU . Проверено 7 мая 2013 .
- ^ Алан Гриффитс (2005). «Разделение интерфейса и реализации на C ++» . http://accu.org/index.php/journals/ : ACCU . Проверено 7 мая 2013 .
- ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
- ^ Алан Гриффитс (2005). «Разделение интерфейса и реализации на C ++» . http://accu.org/index.php/journals/ : ACCU . Проверено 7 мая 2013 .
- ^ "Что нужно и что нельзя делать в C ++" . https://www.chromium.org/developers/coding-style/cpp-dos-and-donts : проекты Chromium . Проверено 7 мая 2013 .
- ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/ . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
- ^ Алан Гриффитс (2005). «Разделение интерфейса и реализации на C ++» . http://accu.org/index.php/journals/ : ACCU . Проверено 7 мая 2013 .
- ^ Febil Чако Thanikal (2009). «Как определить класс шаблона в файле .h и реализовать его в файле .cpp» . http://www.codeproject.com/Articles/48575/How-to-define-a-template-class-in-ah-file-and-imp : Проект кода . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
- ^ "Файл реализации в программировании на C ++" . http://www.itechtalk.com/ : ITechTalk . Проверено 7 мая 2013 .
- ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/CLASSES-INTRO.html . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
- ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
- ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/CLASSES-INTRO.html . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
- ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
- ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/ . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
- ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
- ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/ . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
- ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
Внешние ссылки [ править ]
- Заголовочный файл и файл реализации