Реферат: Проектирование классов в шутку и всерьез

Евгений Каратаев

Иногда так бывает - соберутся люди и начинают обсуждать серьезные проблемы. И устают уже, а все равно продолжают. Остановиться уже не могут, потому как несерьезно получится. И мысли уже кончаются. И тут кто-то говорит шутку и все смеются и ситуация разряжается. Как такая шутливая разрядка и появилась эта работа. Несмотря на шутливость и кажущуюся несерьезность, доля интересного и полезного в ней есть.

Как проектировать классы?

Классы есть определения понятий и отношений между ними, выраженные на каком - либо объектном языке. Когда говорят, что объекты - это ново, модно и все такое, мне это трудно понять, поскольку ничего кроме объектов никогда не писал. Скорее уж программирование без объектов - вот это действительно новость.

Чтобы спроектировать классы, следует выполнить по шагам следующий рецепт. Описание рецепта будет иллюстрироваться на настолько банальном примере, чтобы его нельзя было использовать в реальной работе. Как это и принято в настоящих компьютерных публикациях.

Шаг 1

Возможно вы искали - Доклад: Интерфейсы как решение проблем множественного наследования

Следует взять и потрясти заказчика (или самого себя, если сам все придумал) на тему получить побольше описания темы на русском языке. Надо именно на русском. Пусть пишет. Или даст статью в журнале. Тоже бывает. Увидит шеф статью и загорится на тему "а мне тоже надо". После этого следует просмотреть текст и выбросить из него все, что к делу не относится. После чего дописать к нему то, что не упомянуто, а по идее должно быть. После таких исправлений русскоязычного текста его следует перечитать и немножко погордиться, поскольку первый этап выполнен.

Пример, что может получиться в результате:

В лесу родилась елочка, в лесу она росла.

Зимой и летом стройная, зеленая была.

Вот так вот, грубо и зримо, будем выделять то, что относится к разбираемому примеру.

Похожий материал - Доклад: Перспективные архитектуры генетического поиска

Шаг 2

Второй шаг состоит из того, что выписываем отдельно слова, являющиеся существительными, прилагательными, глаголами, союзами и другими частями речи. Кто давно ничего не писал на других языках кроме C++, Object Pascal, Java или других, тот может проконсультироваться у своих младших товарищей, какое слово чем является. В нашем примере получится:

существительные: лес, елочка, зима, лето

глаголы: родиться, рости, быть

прилагательные: стройная, зеленая

Очень интересно - Реферат: Решение задачи одномерной упаковки с помощью параллельного генетического алго-ритма

союзы: и

местоимение "она" позорно отнесем к существительным, а предлог "в" - к союзам.

Шаг №2 закончен.

Шаг 3

Третий шаг заключается в таком же , как и второй, монотонном переписывании исходного текста. Теперь переписываем по-другому.

Вам будет интересно - Реферат: Алгоритм удаления циклов в графе вертикальных ограничений задачи трассировки многослойного канала

Каждому имени нарицательному ставим в соответствии имя класса и называем его наследником некой иерархии.

Каждому имени собственному ставим в соответствие объект как экземпляр некоего нарицательного класса. В нашем примере имени собственного нет, поэтому я, насупив бровь, могу смело заявить, что разбор примера с именем собственным есть домашнее задание и что вообще "легко видеть, что".

Каждому прилагательному ставим в соответствие класс и называем его базовым. Еще лучше - абстрактным. Если язык позволит. Тем, кто пишет на Java, вообще повезло - прилагательным следует сопоставлять интерфейс в том виде, в котором он определен в Java.

Идем дальше - как только видим глагол, смело создаем функцию, поскольку глагол есть действие, переводящее одно в другое либо что-то куда-то передающее.

Союзы есть сигнал о существовании предикативных условий, если участвуют в исходных материалах действия или о существовании наборов данных, если участвуют в выходных материалах действия.

Похожий материал - Реферат: Об одном способе векторного и аналитического представления контура изображения

В нашем примере получим:

Базовые классы:

TСтройный, TЗеленый.

Классы - наследники, которые можно завести: