Из Википедии, бесплатной энциклопедии
  (Перенаправлено из тела метода )
Перейти к навигации Перейти к поиску

В объектно-ориентированном программировании , А файл реализация класса часто используются , чтобы содержать код реализации методы (ов) из в классе . Этот файл также называется исходным файлом . [ необходима цитата ] Языки программирования, такие как 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

Ссылки [ править ]

  1. ^ Алан Гриффитс (2005). «Разделение интерфейса и реализации на C ++» . http://accu.org/index.php/journals/ : ACCU . Проверено 7 мая 2013 .
  2. ^ Алан Гриффитс (2005). «Разделение интерфейса и реализации на C ++» . http://accu.org/index.php/journals/ : ACCU . Проверено 7 мая 2013 .
  3. ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
  4. ^ Алан Гриффитс (2005). «Разделение интерфейса и реализации на C ++» . http://accu.org/index.php/journals/ : ACCU . Проверено 7 мая 2013 .
  5. ^ "Что нужно и что нельзя делать в C ++" . https://www.chromium.org/developers/coding-style/cpp-dos-and-donts : проекты Chromium . Проверено 7 мая 2013 .
  6. ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/ . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
  7. ^ Алан Гриффитс (2005). «Разделение интерфейса и реализации на C ++» . http://accu.org/index.php/journals/ : ACCU . Проверено 7 мая 2013 .
  8. ^ 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 ( ссылка )
  9. ^ "Файл реализации в программировании на C ++" . http://www.itechtalk.com/ : ITechTalk . Проверено 7 мая 2013 .
  10. ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/CLASSES-INTRO.html . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
  11. ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
  12. ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/CLASSES-INTRO.html . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
  13. ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
  14. ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/ . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
  15. ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.
  16. ^ «Введение в классы C ++» . http://pages.cs.wisc.edu/~hasti/cs368/CppTutorial/NOTES/ . Проверено 7 мая 2013 .CS1 maint: location ( ссылка )
  17. ^ Нойберг, Мэтт (26 мая 2011 г.). «Глава 4.3. Заголовочный файл и файл реализации». Программирование iOS 4 . ISBN O'Reilly Media, Inc. 978-1-4493-8843-0.

Внешние ссылки [ править ]

  • Заголовочный файл и файл реализации