у советской розетки метод подсоединения вилки должен принимать экземпляр советской вилки

Код AS3:
protected function connect(plug:SovietPlug):void
т.е. по сути любого наследника SovietPlug (который в свою очередь может наследовать от Plug как общего класса вилок), и тогда уже действительно 'В советскую розетку европейскую вилку не вставишь'