TURBO PASCAL |
Новости
|
Объекты, экспортируемые модулямиИмеет смысл определять объекты в модуле посредством описаний типа объекта в интерфейсной части модуля, а тела процедур и мето- ды объекта - в секции реализации. Для определения объекта в моду- ле не требуется никаких специальных соглашений. Примечание: Экспортируемый - означает "определенный в интерфейсной части модуля". Модули могут иметь свои собственные приватные (частные) оп- ределения типов объектов внутри выполняемой секции, и эти типы подвержены тем же ограничениям, как и всякие другие типы, опреде- ленные в секции реализации. Типы объектов, определенные в интер- фейсной части модуля, могут иметь дочерние типы объектов, опреде- ленные в секции реализации модуля. В том случае, когда модуль B использует модуль A, модуль B также может определять дочерние ти- пы любого типа объекта, экспортируемого модулем A. Описанные ранее типы объектов и методы можно определить в модуле, как показано в программе WORKERS.PAS на дистрибутивном диске. Чтобы использовать типы объектов и методы, определенные в модуле Workers, вы можете просто использовать этот модуль в своей программе и описать экземпляр типа THourly в секции переменных программы: program HourPrt; uses WinCrt, Workers; var AnHourly: THourly; . . . Для создания и вывода фамилии pабочего-почасовика, его долж- ности и pазмеpа выплаты, пpедставленной пеpеменной AnHourly, вы просто вызываете методы AnHourly, используя следующий синтаксис: AnHourlye.Init('Sara Adams', 'Account manager', 1400); { записывает в экземпляp THourly } { данные для Саpы Адамс: фамилию, } { должность и pазмеp выплаты. } AnHourly.Show; Примечание: Объектами могут быть также типизированные константы. Объекты, будучи очень схожими с записями, могут использо- ваться внутри оператора with. В этом случае указание имени объек- та, являющегося собственником методов, не является необходимым: with AnHourly do begin Init('Sara Adams', 'Account manager', 1400); Show; end; Как и в случаях с записями, объекты могут передаваться в ка- честве параметра процедуре и (как вы увидите позднее) могут раз- мещаться в динамически распределяемой памяти. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |