Часть полного текста документа:Проектирование классов в шутку и всерьез Евгений Каратаев Иногда так бывает - соберутся люди и начинают обсуждать серьезные проблемы. И устают уже, а все равно продолжают. Остановиться уже не могут, потому как несерьезно получится. И мысли уже кончаются. И тут кто-то говорит шутку и все смеются и ситуация разряжается. Как такая шутливая разрядка и появилась эта работа. Несмотря на шутливость и кажущуюся несерьезность, доля интересного и полезного в ней есть. Как проектировать классы? Классы есть определения понятий и отношений между ними, выраженные на каком - либо объектном языке. Когда говорят, что объекты - это ново, модно и все такое, мне это трудно понять, поскольку ничего кроме объектов никогда не писал. Скорее уж программирование без объектов - вот это действительно новость. Чтобы спроектировать классы, следует выполнить по шагам следующий рецепт. Описание рецепта будет иллюстрироваться на настолько банальном примере, чтобы его нельзя было использовать в реальной работе. Как это и принято в настоящих компьютерных публикациях. Шаг 1 Следует взять и потрясти заказчика (или самого себя, если сам все придумал) на тему получить побольше описания темы на русском языке. Надо именно на русском. Пусть пишет. Или даст статью в журнале. Тоже бывает. Увидит шеф статью и загорится на тему "а мне тоже надо". После этого следует просмотреть текст и выбросить из него все, что к делу не относится. После чего дописать к нему то, что не упомянуто, а по идее должно быть. После таких исправлений русскоязычного текста его следует перечитать и немножко погордиться, поскольку первый этап выполнен. Пример, что может получиться в результате: В лесу родилась елочка, в лесу она росла. Зимой и летом стройная, зеленая была. Вот так вот, грубо и зримо, будем выделять то, что относится к разбираемому примеру. Шаг 2 Второй шаг состоит из того, что выписываем отдельно слова, являющиеся существительными, прилагательными, глаголами, союзами и другими частями речи. Кто давно ничего не писал на других языках кроме C++, Object Pascal, Java или других, тот может проконсультироваться у своих младших товарищей, какое слово чем является. В нашем примере получится: существительные: лес, елочка, зима, лето глаголы: родиться, рости, быть прилагательные: стройная, зеленая союзы: и местоимение "она" позорно отнесем к существительным, а предлог "в" - к союзам. Шаг №2 закончен. Шаг 3 Третий шаг заключается в таком же , как и второй, монотонном переписывании исходного текста. Теперь переписываем по-другому. Каждому имени нарицательному ставим в соответствии имя класса и называем его наследником некой иерархии. Каждому имени собственному ставим в соответствие объект как экземпляр некоего нарицательного класса. В нашем примере имени собственного нет, поэтому я, насупив бровь, могу смело заявить, что разбор примера с именем собственным есть домашнее задание и что вообще "легко видеть, что". Каждому прилагательному ставим в соответствие класс и называем его базовым. ............ |