|
Модераторы: Poseidon |
|
ssoun |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 29.1.2007 Репутация: нет Всего: нет |
Доброго времени суток. Помогите пожалуйста. Завтра зачет. Очень много времени потратил на чтение всевозможной литературы. Но до меня никак не дойдут класса. Не даются и все. Расскажите, доступно, как дураку, дебилу - не важно, но чтобы я понял. Для чего классы?
Как их использовать, как создавать объекты? почему именно этот подход более удобен. Вот есть задача например : Описать класс записная книжка, предусмотреть возможность работы с произвольным числом записей, поиск записи по какому-либо признаку(например, фамили и т.д.), добавление и удаление записей, СОРТИРОВКА ПО РАЗНЫМ ПОЛЯМ. Написать программу, демонстрирующую работу с этим классом. Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. Если как это сделать без классов я понимаю, то как это реализуется в классах понятия не имею. Спасибо заранее. Извините, если просьба откровенно тупа, ну вот не могу и все... Добавлено @ 20:07 если кто-то отзовется помочь, прошу, приводите пожалуйста примеры для Билдера |
|||
|
||||
Anikmar |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
||||
|
||||
threef |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 375 Регистрация: 27.10.2005 Где: Запорожье Репутация: нет Всего: 10 |
Класс - это тип данных, в которых программист обьединяет набор переменных и функций для обработки этих переменных. Пусть имеется структура и функция ее обработки:
Функцию, которая пригодна только для обработки структуры включаем в структуру, как составную часть.
Функция, входящая в структуру(класс), имеет доступ ко всем переменным этого класса. Существует специальная функция - конструктор, которая используется для получения переменной- экземпляром класса начальных значений.
Это хоть что-нибудь. |
||||||
|
|||||||
russians |
|
|||
Опытный Профиль Группа: Участник Сообщений: 297 Регистрация: 6.11.2006 Репутация: нет Всего: нет |
Прежде, чем понять, что такое класс, надо понять, что такое структура. Возьми Шилдта и почитай, там как раз на моей памяти строятся ассоциации между ними.
Отлично, теперь объясни ему, что такое объект ;) Это сообщение отредактировал(а) russians - 29.1.2007, 21:29 |
|||
|
||||
nerezus |
|
|||
Вселенский отказник Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Аналогия: класс — это чертеж, а объект — изделие, выполненное по этому чертежу. |
|||
|
||||
Anikmar |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
||||
|
||||
Rockie |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 13 Всего: 31 |
Впринцыпе не факт что он более удобен. Все зависит от конкретной ситуации. По крайней мере любую задачу можно реализовать с использованием ОО подхода, либо без него. Думаю не ошибусь, если скажу что объектно ориентированный подход появился из-за того, что прогресс не стоит на месте: программы увеличивались до таких размеров, что поддерживать их стало очень трудно. ОО подход позволяет легче поддерживать код. Достаточно добавить новый метод в класс и получаем расширение функционала. При процедурном подходе возможно пришлось бы перелопачивать огромные массивы кода. Ну из принцыпов ООП - инкапсуляции, полиморфизма, стоитвыделить наследование - средство повторного использования кода. В процедурном варианте приходилось бы делать copy-paste: мало того что неудобно - в таком случае будут копироваться и множиться все ошибки.. В процедурном варианте есть функция, распечатывающая массив. В ООП варианте у нас есть класс, который содержит массив, и у которого есть метод "распечататься". То есть мы не говорим "функция, распечатай массив", а "массив, распечатай себя". Это конечно же не все что можно сказать на эту тему. А вообще imho OOP это просто то, что сейчас в моде. И то, что его преподают в институтах вовсе не значит, что этот подход лучший. Думаю, лет через 15 про OOP будут вспоминать, как про очередной боян. -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
sergejzr |
|
|||
Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 11 Всего: 360 |
Внимание! Эта тема не соответствует правилам форума
Заголовок темы не отражает её суть, или несколько вопросов в одной теме. Ознакомьтесь с правилами! http://forum.vingrad.ruhttp://forum.vingra...ct-SR/f-27.html[ММ] Тема перенесена в Центр Помощи |
|||
|
||||
ssoun |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 29.1.2007 Репутация: нет Всего: нет |
threef
nerezus спасибо совершенно верно. Именно сегодня и узнал. Этот хвост у меня висел еще с осени, честно сказать, думал, что повисит еще, но вот преподавателю было угодно влупить его завтра, ну на данный момент уже сегодня. Я читал книги Си ++ Builder за 21 день. Еще какая-то большая и толстая книга по билдеру, тем не менее, в этом аспекте так и не разобрался. Подумалось мне, что нужна практика. скачал Builder в задачах и примерах, ситуация с языком немного улучшилась, но опять же не по классам. Все потраченное время, я искал такую литературу, читал ее, искал из тех, что нашел более подходящие для себя описания, более доступное изложение. Все понятно и интересно. Но вот тормозят эти классы и все. Причем с работой со структурами ( на уровне лабораторных работ в университете) проблем никогда не было... |
|||
|
||||
ivashkanet |
|
|||
Кодю потиху Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 9 Всего: 149 |
Как можно по такой книге что-нить понять Извините за оффтоп --- не ужержался. |
|||
|
||||
EvgenZ |
|
|||
Freedom in me Профиль Группа: Участник Сообщений: 407 Регистрация: 3.8.2006 Репутация: 1 Всего: 11 |
//а мне понравилась книга С++ за 21 день, по моему отличная книга
-------------------- <удалено администрацией форума> |
|||
|
||||
ivashkanet |
|
|||
Кодю потиху Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 9 Всего: 149 |
Возможно. Я ее не читал. Просто сами подумайте: "Довольно-таки сложный язык программирования выучить за 21?" Это ведь нереально. (без наличия хороших знаний в программировании). А ООП? Разве можно выучиться ООП за этот срок? Понять нах оно вообще нужно? Выучить синтаксис, кидать контролы на форму, подписываться на ообработчики --- это можно и за меньший срок, но вот выучить С++ |
|||
|
||||
Правила форума "Центр помощи" | |
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |