Не совсем понимаю о чем ты, у меня просто создан абстрактный класс продуктов и несколько классов отдельных классов которые его наследуют ( это и есть конкретные продукты) и отдельный класс покупателя
А вот cp866 лучше вообще не упоминать. Большинство данных что сейчас ходят в интернетах они в unicode, а там вместо 1 байта на символ, 3 или 4, потому лучше проверять по unicode