Классы. Наследование: различия между версиями
(Новая: =Не редактировать. Статья в работе= В VIP: 1. Правила видимости существуют, но нет ни одного ключевого сл...) |
|||
(не показано 11 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Обсуждаемые далее механизмы наследования включают понятие "правила видимости". | |||
В | В вульгарной интерпретации под правилом видимости мы понимаем возможность обращения к базовым элементам языка (константам, доменам, предикатам, клаузам и фактам) одной сущности из какой-либо другой сущности. Сущностями являются в данном случае классы и объекты. | ||
'''''Примечание.''''' К правилам видимости мы не относим вопросы включения текстов интерфейсов, классов и имплементаций в соответствующие файлы проекта. Такие коллизии включения должны быть разрешены корректно с использованием директив ''include'' в файлах проекта *.pack и *.ph. | |||
Обычно, говоря о Visual Prolog, подчеркивают, что это - типизированный язык. Это подразумевает, что существует объявление (или декларация) типов данных, используемых в предикатах в качестве входных или выходных параметров. Это объявление используется затем в клаузе - исполняемой части предиката, где и интерпретируется как программистом, так и компилятором. | |||
Например, в следущем коде | |||
<vip> | |||
predicates | |||
выделитьИзФайлаОтрезокТекстаСЗаданнойДлиной:(string FileName, unsigned ЧислоСимоволов) ->string | |||
clauses | |||
выделитьИзФайлаОтрезокТекстаСЗаданнойДлиной(ИмяФайла,ЧислоСимоволов)=ОтрезокТекста:- | |||
ПолныйТекстФайла=прочитатьФайл(ИмяФайла), | |||
... | |||
</vip> | |||
декларация (раздел predicates) и клауза (раздел clauses) помещаются рядом по тексту. Но это лишь частный случай возможного их взаимного размещения. Местом помещения исполнительной части '''всегда''' является имплементация класса (implement ... end implement). Местами помещения декларации могут быть: | |||
*декларация класса (class ... end class) | |||
*декларация интерфейса (interface ... end interface) | |||
*имплементация класса (implement ... end implement) |
Текущая версия на 12:29, 28 сентября 2007
Обсуждаемые далее механизмы наследования включают понятие "правила видимости". В вульгарной интерпретации под правилом видимости мы понимаем возможность обращения к базовым элементам языка (константам, доменам, предикатам, клаузам и фактам) одной сущности из какой-либо другой сущности. Сущностями являются в данном случае классы и объекты.
Примечание. К правилам видимости мы не относим вопросы включения текстов интерфейсов, классов и имплементаций в соответствующие файлы проекта. Такие коллизии включения должны быть разрешены корректно с использованием директив include в файлах проекта *.pack и *.ph.
Обычно, говоря о Visual Prolog, подчеркивают, что это - типизированный язык. Это подразумевает, что существует объявление (или декларация) типов данных, используемых в предикатах в качестве входных или выходных параметров. Это объявление используется затем в клаузе - исполняемой части предиката, где и интерпретируется как программистом, так и компилятором.
Например, в следущем коде
predicates выделитьИзФайлаОтрезокТекстаСЗаданнойДлиной:(string FileName, unsigned ЧислоСимоволов) ->string clauses выделитьИзФайлаОтрезокТекстаСЗаданнойДлиной(ИмяФайла,ЧислоСимоволов)=ОтрезокТекста:- ПолныйТекстФайла=прочитатьФайл(ИмяФайла), ...
декларация (раздел predicates) и клауза (раздел clauses) помещаются рядом по тексту. Но это лишь частный случай возможного их взаимного размещения. Местом помещения исполнительной части всегда является имплементация класса (implement ... end implement). Местами помещения декларации могут быть:
- декларация класса (class ... end class)
- декларация интерфейса (interface ... end interface)
- имплементация класса (implement ... end implement)