Ознакомьтесь с нашей политикой обработки персональных данных
20:08 

Бред %)

_rMX_
Do you wanna be an american idiot? :)
Все-таки увелечние че-то не проходит бесследно.. Программированием, в том числе. Шел сегодня с работы и думал мысль о том, как бы можно было при помощи методов объектно-ориентированного программирования описать шмотки. Вот хрен уж знает c фига мя так торкнуло, но факт отстается фактом, думал. )
Так вот, в чем заключалась сия мысля..
Все шмотки можно объединить в общий абстрактный класс ТШмотка, у которого определен только конструктор (в коем прописано "шить из материала"), деструктор (для простоты можно указать что=нибудь вроде Сжечь) и несколько абстрактных методов - Одеть(Накуда: ТМестоНаСуществе); Снять; ПроверитьСовместимость(СЧем: ТШмотка): Да/Нет; Эти методы не поределены и должны быть переопределены при наследовании. Ну, и пожалуй, несколько свойств, таких как, размер, материал, цвет.
Дальше рассмотрим на примере, ибо больно много писать надо будет. ) Возьмем для примера джинсы с кучей клепок, пуговицами на ширинке, порватостью в паре мест и аппликацией на, простите, мм.. где-то вобщем. =)
Начнем сначала. Определим потомка класса ТШмотка и обзовем его ТШтаны. Добавим пару свойств - ДлинаШтанин, ШиринаВПузе, Карманы типа ТКарманы (содержит в себе координаты всех карманов, их количество, размеры), Застегиваемость. Переопределим метод Надеть, описав там, что штаны должны одеваться на ноги и никуда более. При попытке одеть на другое место выдавать ошибку несовпадения типа одеваемого объекта. Метод Снять тоже надо будет переопределить для того, чтобы указать, что штаны надо снимать искючительно с ног и через низ тела. :) Проверку совместимости пока определять не будем, потому что ТШтаны сликом общий класс и совместимость проверить пока не получится ввиду отстутствия критерия проверки.В конструкторе определим пришивание карманов на нужные места.
Далее определим класс ТДжинсы, унаследовав его от ТШтаны. переопределив конструктор, укажем в материале "Джинса".Цвет по-умолчанию там же можно задать как синий (классика жанра, все-таки). Так же определим Застегиваемость = Ога. А в методах Надеть и Снять опишем, соответственно, застегнуть штаны после надевания и расстегнуть перед сниманием. Добавим свойство Ремень, в которое при желании можно будет передать ремень любого типа. Кстати, теперь можно определить медод ПроверитьСовместимость, ибо мы знаем, что как минимум не каджый ремень подойдет к данным джинсам. Обрадотчик проверки лучше всего поставить на событие ПередНадеванием. :)
И вот мы подошли к самому интересному - описанию класса ТПонтовыеДжинсы, наследника ТДжинсы. Добавим свойства Клепки (опять же, как и в случае с карманами, массив с координатами клепок, количеством и типом клепок) и Аппликация (Объект, на котором можно изобразить все, что душе угодно, в том числе просто подгрузить картинку, снова координаты объекта, размеры). Собвтвенно, осталось переопределить конструктор, добавив туда размещение клепок и аппликации, а так же замену ширинки на ширинку с пуговицами и добавлени порватостей по вкусу (пожно прописать метод Рвать и вызвать его пару раз по рандому).

Вот собственно и все. На сегодня бред закончен. =)

URL
Комментарии
2008-11-19 в 22:33 

о_О я боюсь программистов...

2008-11-19 в 22:33 

ну а вообще - прикольно)

2008-11-20 в 16:48 

вот это да!..... как хорошо, что я это не вчера на ночь читала! теперь я уже никогда не смогу относиться к джинсам как прежде!.. О_о

у тебя мозги приняли программерскую искривлённость.. вот откуда смещения точки видения мира!)))))
(боже, а что со мной будет, через некоторое время?!...... у меня ведь тоже искривиться!....)

а вообще клёва написал! читать было очень даже интересно!

URL
2008-11-20 в 16:50 

Cherry~Cat
только я не Гость! это Я!

2008-11-20 в 21:17 

_rMX_
Do you wanna be an american idiot? :)
Уи-уи! :hamp:

URL
   

Дневник, блин. :)

главная