Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.09.19;
Скачать: CL | DM;

Вниз

объектно-ориентированное програмирование   Найти похожие ветки 

 
shaman   (2010-06-17 17:18) [0]

Разработать структуру объекта "Электробритва". Объект должен иметь не менее пяти методов и не менее трех свойств. Разработать программу моделирования работы данного объекта.


 
Сергей М. ©   (2010-06-17 17:20) [1]

Метод "ЖужжатьИГреться" подойдет ?


 
Демо ©   (2010-06-17 17:23) [2]


> shaman   (17.06.10 17:18) 
> Разработать структуру объекта "Электробритва". Объект должен
> иметь не менее пяти методов и не менее трех свойств. Разработать
> программу моделирования работы данного объекта.


Можно я не буду делать?


 
KilkennyCat ©   (2010-06-17 17:44) [3]


> Сергей М. ©   (17.06.10 17:20) [1]

а метод "Брить" перекрыть "ЖестокоЭпилироватьБезжалостноИБеспощадно"


 
test ©   (2010-06-17 17:47) [4]

Психбольница в руках пациентов, Купер Алан

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

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


Объектно-ориентированный анализ и проектирование
с примерами приложений на С++
Гради Буч

Первая часть посвящена анализу сложности, присущей программным системам, в частности анализу того, как эта сложность проявляется. Мы вводим объектную модель как средство борьбы со сложностью. Мы рассматриваем основные элементы объектной модели: абстрагирование, инкапсуляцию, модульность, иерархию, типизацию, параллелизм, устойчивость. Мы задаемся такими глубинным вопросами как "Что такое класс?" и "Что такое объект?". Поскольку выявление осмысленных классов и объектов - ключевая задача объектно-ориентированного проектирования, значительное время мы уделяем вопросам классификации. В частности, мы рассматриваем подходы к классификации в других дисциплинах: биологии, лингвистике и психологии, а затем применяем полученные выводы к обнаружению классов и объектов внутри программных систем.

Казалось бы причем тут Google?


 
test ©   (2010-06-17 17:54) [5]

Сергей М. ©   (17.06.10 17:20) [1]
Не, это метод предка.


 
MonoLife ©   (2010-06-17 18:12) [6]

TBerdsk))


 
test ©   (2010-06-17 18:17) [7]

MonoLife ©   (17.06.10 18:12) [6]
Это кстате потомок, а не требуемый объект.


 
Правильный$Вася   (2010-06-17 19:14) [8]


> Разработать структуру объекта "Электробритва"

открываем паспорт любой бритвы и читаем
назначение и возможности - это методы
характеристики - это свойства


 
Anatoly Podgoretsky ©   (2010-06-17 19:42) [9]

> shaman  (17.06.2010 17:18:00)  [0]

У меня в бритве (реальной) только два метода, включить и выключить, что
могут делать остальные три?


 
Правильный$Вася   (2010-06-17 19:55) [10]


> что могут делать остальные три?

автоочистка
стрижка
выбривание в носу :)


 
KilkennyCat ©   (2010-06-17 20:01) [11]

учтите, что неправильно разработанная бритва вызывает помехи у телевизора


 
Anatoly Podgoretsky ©   (2010-06-17 20:02) [12]

> Правильный$Вася  (17.06.2010 19:55:10)  [10]

1 этого у меня нет, а вот 2 и 3 это не функции бритвы, а человека, бритва
там выступает как инкапсулированый объект.
И того с грехом попалам натянули на три метода.
Четвертый метод это проигрывание MP3 по USB


 
KilkennyCat ©   (2010-06-17 20:02) [13]

а если электробритву сунуть в розетку "радио", то будет тихий радио.


 
Правильный$Вася   (2010-06-17 20:05) [14]


> 2 и 3 это не функции бритвы, а человека

если у бритвы специальные ножи для этого, то это ее функции
хотя можно активацию ножа сделать и свойством, тогда действительно on/off будет, но это не так наглядно


 
Jeer ©   (2010-06-17 20:28) [15]

Фигня все это.. ООП, классы, члены, наследование..

Наиболее радикальной процедурой является использование топора :)


 
Плохиш ©   (2010-06-17 20:37) [16]


> Четвертый метод это проигрывание MP3 по USB

А как же фотик на 25 мегапикселей с 50-кратным зумом и автофокусом? :o)


 
Демо ©   (2010-06-17 20:42) [17]


> shaman   (17.06.10 17:18) 
> Разработать структуру объекта "Электробритва". Объект должен
> иметь не менее пяти методов и не менее трех свойств. Разработать
> программу моделирования работы данного объекта.


Методы:

1. Включить
2. Выключить
3. Зарядить
4. Использовать стриммер
5. Очистить

Свойства:
1. Марка
2. Цвет
3. Вес


 
KilkennyCat ©   (2010-06-17 20:51) [18]

хэндсфри не забудьте - брить руками уже не модно., и гаи прицепится


 
test ©   (2010-06-17 20:55) [19]

Jeer ©   (17.06.10 20:28) [15]
Топор - сборщик мусора уничтожает осиротевшие объекты.


 
test ©   (2010-06-17 20:58) [20]

Демо ©   (17.06.10 20:42) [17]
Методы:
Включить
Вылючить

Свойство:
Состояние
Уровень зарядки
Уровень загрязнения

Логичнее, а то свойства ни как не связаны с объектом и через них инфы ноль при использовании объекта.


 
Демо ©   (2010-06-17 21:24) [21]

ТУстройство = class
private
 FПроизводитель: String;
 FВключено_ли: Boolean;
public
 constructor Создать(ПРоизводитель: String); virtual; abstract;
 destructor Уничтожить; override;
 function Включить; virtual; abstract;
 function Выключить; virtual; abstract;
end;


 
Правильный$Вася   (2010-06-17 21:30) [22]


> 4. Использовать стриммер

устройство записи на магнитной ленте? %))


 
test ©   (2010-06-17 21:42) [23]

Демо ©   (17.06.10 21:24) [21]
Теперь попробуй это использовать, даже в псевдо коде, у тебя можно 2 раза включить и выключить, так как доступа к переменной нет.

ТУстройство = class
private
FПроизводитель: String;
FВключено_ли: Boolean;
FУровень_заряда: float;
Fуровень_загрязнения%:float;
protected
 fonStopЗарядка: TonStopЗарядкаEvent;
 fonStopОчистка: TonStopЗарядкаEvent;
public
constructor Создать(ПРоизводитель: String); virtual; abstract;// virtual; abstract нафига?
destructor Уничтожить; override;
procedure  Включить; virtual; abstract;//не возвращают значения значит процедуры
procedure Выключить; virtual; abstract;
procedure Зарядить;
procedure Очистить;
published
property вкл: boolean read FВключено_ли;
property заряд%: float read FУровень_заряда;
property уровень_загрязнения%: float read Fуровень_загрязнения%;
property название: String read FПроизводитель;
property onStopЗарядка: TonStopЗарядкаEvent read fonStopЗарядка write fonStopЗарядка;
property onStopОчистка: TonStopЗарядкаEvent read fonStopОчистка write fonStopОчистка;

Это так на вскидку

end;


 
Anatoly Podgoretsky ©   (2010-06-17 22:17) [24]

> Демо  (17.06.2010 20:42:17)  [17]

4. Использовать [с]триммер
4b. Не использовать [с]триммер

стриммер это ленточный накопитель

->>

Открыть триммер
Закрыть триммер

А триммер это "машинка" для стрижки, подравнивать усы, приспособа такая


 
Демо ©   (2010-06-17 22:28) [25]


> Теперь попробуй это использовать, даже в псевдо коде, у
> тебя можно 2 раза включить и выключить, так как доступа
> к переменной нет.


Это ж заготовка для различных устройств. -)

Бритва лишь наследник от этого абстрактного класса.

А virtual и абстракт в конструкторе для того, чтобы для каждого устройства реализовать собственный конструктор - мало ли как создаётся каждое устройство (бритва, пылесос, и т.д). -))


 
Демо ©   (2010-06-17 22:29) [26]


> 4. Использовать [с]триммер4b. Не использовать [с]триммер
> стриммер это ленточный накопитель


Ну да... Вот ведь как много одна буква значит-))


 
Игорь Шевченко ©   (2010-06-17 22:32) [27]

Демо ©   (17.06.10 22:28) [25]

А нафиг вообще такой класс ?


 
DVM ©   (2010-06-17 22:34) [28]


> А триммер это "машинка" для стрижки, подравнивать усы, приспособа
> такая

а у меня триммер на даче траву косит


 
Jeer ©   (2010-06-17 22:43) [29]

Даже я помню, что такое триммер в авиации, а уж ИШ тем более должон :)


 
Демо ©   (2010-06-17 22:51) [30]


> Игорь Шевченко ©   (17.06.10 22:32) [27]
> Демо ©   (17.06.10 22:28) [25] А нафиг вообще такой класс
> ?


Чтобы наследоваться от него-)

Предполагается, что конструктор - это эмуляция реального процесса создания устройства (например - пайка, сборка, закрепление крышки и т.п.).

В общем - своеобразный любительский конструктор.


 
Сергей М. ©   (2010-06-17 22:58) [31]


> Jeer ©   (17.06.10 22:43) [29]
> я помню, что такое триммер в авиации


Он там тоже пробелы косит на носу и конце)


 
Petr V. Abramov ©   (2010-06-17 23:07) [32]

а если не предусмотрен exception на побрить колючую проволоку - двойка


 
Игорь Шевченко ©   (2010-06-17 23:08) [33]

Jeer ©   (17.06.10 22:43) [29]

Еще Олдридж упоминал, в "Последнем дюйме".


 
Игорь Шевченко ©   (2010-06-17 23:16) [34]

Демо ©   (17.06.10 22:51) [30]


> В общем - своеобразный любительский конструктор.



> ТУстройство = class
> private
>  FПроизводитель: String;
>  FВключено_ли: Boolean;
> public
>  constructor Создать(ПРоизводитель: String); virtual; abstract;
>
>  destructor Уничтожить; override;
>  function Включить; virtual; abstract;
>  function Выключить; virtual; abstract;
> end;


Тогда выброси из него

 FПроизводитель: String;
 FВключено_ли: Boolean;

и заодно обязательный параметр из конструктора


 
Медвежонок Пятачок ©   (2010-06-17 23:27) [35]

еще будет не лишним реализовать классовый метод

class function whereismyfuckingrazor : TKharkoff;

и метод
procedure Convert2TattooMachine;


 
Anatoly Podgoretsky ©   (2010-06-17 23:48) [36]

> Игорь Шевченко  (17.06.2010 22:32:27)  [27]

Чтобы бриться


 
Anatoly Podgoretsky ©   (2010-06-17 23:48) [37]

> Jeer  (17.06.2010 22:43:29)  [29]

А я функцию знаю!


 
Сергей М. ©   (2010-06-20 22:35) [38]

Зачморили парнишу)
А он так заплатить хотел)..

http://www.programmersforum.ru/showthread.php?t=104751


 
test ©   (2010-06-21 00:01) [39]

Сергей М. ©   (20.06.10 22:35) [38]
Ему тут бесплатно объяснили и пример кинули, какой жестокий форум ))


 
Германн ©   (2010-06-21 03:37) [40]


> Сергей М. ©   (20.06.10 22:35) [38]
>
> Зачморили парнишу)
> А он так заплатить хотел)..
>
> http://www.programmersforum.ru/showthread.php?t=104751
>

А то и ты тут не при чём! :)



Страницы: 1 2 вся ветка

Текущий архив: 2010.09.19;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.011 c
2-1277122422
nobody
2010-06-21 16:13
2010.09.19
Выполнение запросов в потоке, с использованием DOA


15-1277651139
AKE
2010-06-27 19:05
2010.09.19
Стоит ли студенту изучать что-то дополнительно...


15-1277316827
zlodey
2010-06-23 22:13
2010.09.19
песни про программистов


15-1277497794
Юрий
2010-06-26 00:29
2010.09.19
С днем рождения ! 26 июня 2010 суббота


2-1277699293
linuxoid
2010-06-28 08:28
2010.09.19
treeview & memo