Подскажите, почему при реализации функций интерфейса,
если реализуемой функции присвоить модификатор доступа protected или private,
то выводится ошибка? Если же public - все ок.
Я например, хочу реализовать функцию интерфейса, но при этом, чтобы ее мог заместить (override) наследуемый класс, а для пользователя эта функция была бы недоступна.

Код AS3:
//Интерфейс:
public interface IAction
{
function init():void;
function destroy():void;
}
//Реализация
package
{
public class Base implements IAction
{
public function Base() {
}
//Выдает ошибку, если модификатор доступа к функции protected
protected function init():void {
}
public function destroy():void {
}
}
}