ВУЗ:
Составители:
Рубрика:
24
члены в группы , обладающие одним и тем же уровнем доступа, указ ы -
вая его один раз :
ИмяКласса = class
private
{ объявления закрытых членов }
protected
{ объявления защищенных членов }
public
{ объявления открытых членов }
published
{ объявления опубликованных членов }
automated
{ объявления автоматизированных членов }
end;
Члены , объявления которых расположены в самом начале интер-
фейса класса до первого явного указания области видимости, считаются
опубликованными (если программа компилируется в состоянии {$M+})
или открытыми (в с остоянии {$M-}).
Закрытые члены класса видны лишь в пределах того модуля, в
котором этот класс определен, открытые — всюду, где виден сам класс.
Защищенные чл ены , помимо модуля, содержащего определение класса,
доступны также при реализации методов тех классов , которые являются
наследниками данного (механизм наследования будет подробно рас -
сматриваться в § 3.1). Опубликованные и автоматизированные члены
имеют ту же видимость, что и открытые. Их отличия связаны с возмож-
ностями Delphi, которые сейчас не яв ляются для нас существенными.
Таким образом , классы предоставляют те же основные уровни
доступа, что и модули: открытый и закрытый, однако способ их задания
является значительно более гибким . При использовании традиционных
сложных типов данных, видимость их внутренней структуры целиком
определяется видимостью самого типа. Классы же позволяют полно-
стью скрыть от пользователя свое представление, объявив все поля за-
крытыми, и при этом не ограничивать его доступ собственно к типу
данных, предоставляя тем самым возможность создания соответствую-
щих переменных.
Приведем теперь новую версию библиотеки для работы с рацио-
нальными числами, свободную (почти) от недостатков , перечисленных в
начале § 2.1. Она будет содержать определение единственного класса:
Rational, и первое , что необходимо сделать, — это разработать интер-
фейс данного класса.
чл ены в группы , обл ад ающие од ним и т ем же уров нем д ос т упа, указ ы -
в ая егоод ин раз :
ИмяКласса = class
private
{ объявления закрытых членов }
protected
{ объявления защищенных членов }
public
{ объявления открытых членов }
published
{ объявления опубликованных членов }
automated
{ объявления автоматизированных членов }
end;
Ч л ены , объяв л ения которы храс пол ожены в с ам ом начал е инт ер-
фейс а кл ас с а д оперв огояв ногоуказ ания обл ас т и в ид им ос т и, с чит ают с я
опубл иков анны м и (ес л и програм м а ком пил ирует с я в с ос тоянии {$M+})
ил и от кры т ы м и (в с ос тоянии {$M-}).
Закры т ы е чл ены кл ас с а в ид ны л иш ь в пред ел ах того м од ул я, в
котором э тот кл ас с опред ел ен, от кры т ы е — в с юд у, гд е в ид ен с ам кл ас с .
Защищенны е чл ены , пом им ом од ул я, с од ержащегоопред ел ение кл ас с а,
д ос т упны т акже при реал из ации м етод ов т ехкл ас с ов , которы е яв л яют с я
нас л ед никам и д анного (м еханиз м нас л ед ов ания буд ет под робно рас -
с м ат рив ат ь с я в § 3.1). Опубл иков анны е и ав т ом ат из иров анны е чл ены
им еют т у же в ид им ос т ь , чтои от кры т ы е. И хотл ичия с в яз аны с в оз м ож-
нос тям и Delphi, которы е с ейчас не яв л яют с я д л я нас с ущес т в енны м и.
Т аким образ ом , кл ас с ы пред ос т ав л яют т е же ос нов ны е уров ни
д ос т упа, чтои м од ул и: от кры т ы й и з акры т ы й, од накос пос об ихз ад ания
яв л яет с я з начит ел ь но бол ее гибким . При ис пол ь з ов ании т рад иционны х
с л ожны х т ипов д анны х, в ид им ос т ь ихв нут ренней с т рукт уры цел иком
опред ел яет с я в ид им ос т ь ю с ам ого т ипа. Кл ас с ы же поз в ол яют пол но-
с т ь ю с кры т ь от пол ь з ов ат ел я с в ое пред с т ав л ение, объяв ив в с е пол я з а-
кры т ы м и, и при э том не ограничив ат ь его д ос т уп с обс т в енно к т ипу
д анны х, пред ос т ав л яя т ем с ам ы м в оз м ожнос т ь с оз д ания с оот в ет с т в ую-
щихперем енны х.
Прив ед ем т еперь нов ую в ерс ию библ иот еки д л я работ ы с рацио-
нал ь ны м и чис л ам и, с в обод ную (почт и) от нед ос т ат ков , перечис л енны хв
начал е § 2.1. Она буд ет с од ержат ь опред ел ение ед инс т в енного кл ас с а:
Rational, и перв ое, что необход им о с д ел ат ь , — э то раз работ ат ь инт ер-
фейс д анногокл ас с а.
24
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »
