Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Мастера DELPHI. Новости мира компонент, FAQ, статьи...


Информационный Канал Subscribe.Ru

Ежедневная рассылка сайта Мастера DELPHI

DELPHIMASTER.ru

Выпуск от 26.09.04 09:18

Лучшее из нашего FAQ   |x|
Чем принципиально отличаются классы от объектов?
»»» Palladin (28.07.00 12:39)
Чем принципиально отличаются классы от объектов?

»»» Диман - makaev@pisem.net (28.07.00 13:05)
Объект - это экземпляр класса.

»»» ASCRUS - ascrus@aport.ru (28.07.00 13:47)
если ты имеешь ввиду под понятием обьекты: обьектыне типы, которые описывались ранее в Object Pascal (ключевое слово object), то в Delphi class - это то же самое плюс свойства, события и RTTI (то есть возможность делать публицируемые свойства).

»»» Alexander - avolkov@infostroy.ru (28.07.00 13:48)
Согласен с предыдущим с точки зрения анализа. Еще - объект отличается наличием данных (атрибутов или в терминологии Delphi полей, свойств, указателей на обработчиков событий). Класс данных не имеет, кроме реализованных в виде функций класса и предопределенных в TClass атрибутов, например ClassName.

»»» SergSuper - sergsuper@mail.ru (28.07.00 14:24)
Не со всем так. Класс тоже ведь имеет данные.
t=class X:char end - X это что, не данные?
Дело в следующем. Первоначально появился object - что-то вроде record-а, но с процедурами, наследованием и т.д. Использовались обычно объекты динамически, т.е. приходилось описывать тип данных объект и тип ссылку на него. Чтобы создать нечто динамическое надо было использовать функцию New. В итоге всё получалось несколько громоздко.
В Delphi решили работать с объектами по-другому, т.е. объект(который class) это уже сразу ссылка, еще один тип объявлять не надо, New тоже не надо вызывать. Все новые возможности реализовали только в классах, а object оставили для совместимости.

Ну а принципиальные различия между class и object, как видно из вышеописаного:
1. Класс это ссылка
2. В классы реализованы новые возможности.
Если не имеются в виду паскалевские термины, то объект и класс это обычно одно и тоже, ну может быть "объект - это экземпляр класса".

»»&r aquo; Alexander - avolkov@infostroy.ru (28.07.00 15:13)
Д! а, тут н ечего сказать. Super поставил жирную точку в дискусси, не удосужившись понять о чем я писал.
Написав "t=class X: char; end;" Вы не сможете обратиться к данным "t.X := #13;", поскольку память под эти "данные" не выделена. Понятно? Не верите, можете попробовать. И вообще, прежде чем писать пример кода, неплохо было бы его хотя-бы откомпилировать без ошибок.

»»» Диман - makaev@pisem.net (28.07.00 15:38)
Вот я и говорю: Объект - это экземпляр класса.
т.е. объект, это тотже класс, под который выделена
память и с которым уже можно работать.

»»» SergSuper - sergsuper@mail.ru (28.07.00 16:02)
Ну зачем же так. Очень я даже удосужился.
А Ваш последний мессаждь действительно мне непонятен, чего я не скрываю. Написав t=class Вы объявляете тип и естественно не можете присвоить данные типу. Естественно такое компилироваться не будет и я не пытался его компилировать. Вам же не придет в голову писать "t=record X: char; end" и потом обращаться к данным "t.X := #13;". Так что Ваши возражения не принимаю.
Чтобы окончательно снять вопросы приведу пример идентичного объекта реализованного через object и через class

---object-----
type
to=object(TObject)
x:byte
end;
po=^to;
var o:po;
begin
o:=New(po,Init)
o^.x=#13;
Dispose(o,Done)
end

---class-----
type
to=class(TObject)
x:byte
end;
var o:to;
begin
o:=to.Create
o.x=#13;
o.Free
end


Т.е. когда пишется через object есть и объект(to) и ссылка на него (po). Когда пишется через class есть только ссылка(to).
Я думаю, что для Alexander-а я ничего нового не написал, спор имеет чисто теоритический характер, но может кому-то, кто не писал на Паскале 6 или 7, будет интересно.


»»» Palladin (31.07.00 17:40)
К ороче, я понял, что объекты в Delphi еще можно использовать.! И тут в опрос возник другой. На счет того что имя класса сразу является указателем я понял, но тогда вопрос: можно ли написать класс с нуля или без TObjecta не обойтись?

»»» ASCRUS - ascrus@aport.ru (01.08.00 08:34)
Да ты прав - даже если ты напишешь типа to = class, то все равно это будет означать to = class(TObject). Естественно это сделанно из-за RTTI

»»» SergSuper - sergsuper@mail.ru (01.08.00 09:07)
Если использовать object - то будет без без TObject, чисто твой объект. Если class - то прицепляется автоматом.

-= Из конференции сайта MASTERS OF DELPHI (http://delphi.mastak.com) =-

»»» Прислать свои комментарии

Обсуждается в конференциях   |x|
  • Примеры работы с TreeView и ImageList в KOL
    Доброго времени суток! Ищу пример работы с TreeView и ImageList. Подойдет все: ссылка на доку или исходники, или любая ...
  • Загрузка DLL
    Подскажите, как можно загружать DLL из файла своего формата сразу в память, минуя сохранение ее на диске?
  • Winsock
    Я хочу отправить в сеть ну например 5000 байт, вызываю WSASend и на приёмной стороне получаю море мелких пакетов. ...
  • Как определить частоту?
    Народ помогите. Как мне определить частоту звука подоваемого на микрофон?
  • Новая версия DoomForever
    Выложил версию 02 игры, сделана она на WinAPI и OGL. До этой версии уже была дема и альфа, про которую я писал. Вобщем ...
  • EHLIB (STFilter)
    Уважаемые мастера! Пользуюсь EHLIB. В GDRID есть хорошая функция STFilter. Когда я использовал Table или Query - всё ...
  • Поиск текста в текстовом файле...
    Подкажите функцию поиска текста в текстовом файле?
У нас большой выбор статей   |x|
«DELPHI в примерах для начинающих» - Изучение простейших приемов работы с файлами и потоками на примере программы «Монитор каталогов»
Давайте вместе создадим программу, которая будет непрерывно проверять каталог на предмет изменения содержимого (появление нового файла, удаление файла, переименование и изменение файла).
Добавим в нашу программу возможность ведения протокола изменений в проверяемом каталоге и функции динамической настройки этого списка.
После написания программы добавим еще одно "удобное"  свойство – спрячем программу в SysTray...
Новинки книжного рынка   |x|
Photoshop 7. Для профессионалов(+CD)
Эта книга посвящена последней версии Photoshop - самой популярной программы для работы с растровой графикой. В ней рассматриваются не только новые возможности пакета, но подробно и последовательно рассказывается обо всех средствах, которые дает Photoshop в руки профессионального художника-графика или фотографа для решения самых разнообразных задач. Ориентация на опытных пользователей позволила включить в книгу достаточно сложные упражнения. Прилагаемый к книге компакт-диск содержит электронные версии примеров к книге, дополнительные электронные главы с описанием программы ImageReady, инструментов для подготовки изображений для Интернета, а также демонстрационные версии фильтров разных фирм и программы с ограниченным сроком использования.
Автор: Петров М. Н.
Опрос населения :)
Образование программиста?
»»» Высшее
»»» Незаконченное высшее
»»» Среднее специальное
»»» Среднее
Для души

Хокку дня
Твой номер набрав,
Боюсь услышать голос.
Вечно занято...

Афоризмы
Чистая правда, а как запятнала!

Фраза дня
На ошибках мучатся

Дурацкие законы (информация предоставлена сайтом kurilka.com)
В городе Белмедир в Калифорнии (США) муниципалитет вынес постановление, которое гласит "Собак запрещается пускать в общественные заведения, кроме как с владельцами на поводке." (кто должен быть на поводке не объясняется)
В городе Льюис (США) запрещается появляться на улице в штанах, "черезчур" облигающих ноги и талию.

И на закуску коротенький анекдот
Удивительный орган - человеческий мозг: когда мы утром просыпаемся, он начинает усиленно работать и не останавливается вплоть до нашегоприбытия на работу.

Фотоприколы.
Начните день с хорошего настроения!
http://www.delphimaster.ru/cgi-bin/prikol.pl?id=1352


На этом позвольте откланяться и пожелать вам удачного дня.
Искренне ваш, Алексей (merlin@delphimaster.ru)

Добро пожаловать на сайт -= Мастера DELPHI =- 

http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: comp.soft.prog.mdelphi
Отписаться

В избранное