2014-09-07 7 views

ответ

2

package - концепция инкапсуляции в e. Он похож на namespace в C++. Это означает, что, например, структура, называемая foo внутри одного пакета, полностью отличается от структуры, называемой foo внутри другого пакета.

2

В дополнение к созданию пространств имен (которые избегают конфликтов имен) он также позволяет использовать контроль доступа для типов и элементов структуры. тип, поле, метод или событие может быть объявлена ​​как пакет-частного, например:

package type color: [RED, GREEN]; 

struct packet { 
    package foo() is { ... }; 
}; 

тип или член структуры объявляется с использованием модификатора package доступа, могут быть доступны только из одного и того же пакета. Кстати, для членов структуры есть также private и protected модификаторы доступа. protected означает, что поле или метод не могут быть доступны из другой структуры, а private означает только package и protected. (Обратите внимание, что значение этих модификаторов доступа отличается от значения на C++ или Java, например, в C++ разница между и private заключается в том, доступен ли член из одного и того же точного класса или из класса и его подклассы).