Руководство по actionscript. часть 3, стр. 012
Когда среда выполнения проверяет существование переменной description в открытых пространствах имен, она находит два соответствия: private : .-description и protected: :description класса Child. Как мы уже знаем из предыдущего раздела, когда неуточненная ссылка соответствует имени в более чем одном пространстве имен, возникает ошибка неоднозначного обращения. Более того, если несколько имен уточняются различными неявно открытыми пространствами имен, возникает ошибка, связанная с конфликтом определений. В случае с переменной description возникнет следующая ошибка:
A conflict exists with inherited definition Parent. description in namespace protected.
На русском языке она будет выглядеть так: Существует конфликт с унаследованным определением Parent. description в пространстве имен protected.
Если в вашем коде существуют конфликтующие имена методов и переменных, компилятор опишет суть конфликта, указав пространство имен, в котором этот конфликт произошел. Например, следующий код:
package { import flash. display.*; public class SomeClass extends Sprite { private var prop:int;
private var prop:int; // Недопустимое повторное определение свойства
}
}
вызовет следующую ошибку:
A conflict exists with definition prop in namespace private.
По-русски это будет звучать так: Существует конфликт с определением prop в пространстве имен private.
На самом деле из-за ошибки компилятора в приложениях Flex Builder 2 и Flash CS3 предыдущее сообщение будет содержать неправильную фразу namespace internal, хотя должно быть namespace private.
Подобным образом, данный код:
package { import flash. display.*; public class SomeClass extends Sprite { private var x;
вызовет следующую ошибку (поскольку — об этом вы можете почитать в справочнике по языку ActionScript компании Adobe — в классе Di splayOb j ect уже определена переменная х с использованием модификатора управления доступом public):
A conflict exists with inherited definition f1 ash. di splay:Di splayObject. x in namespace public.