Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глава 5. ООП 
:(
    Опции темы
kemiisto
Дата 2.5.2008, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Глава о слове из трёх букв  smile 

Это сообщение отредактировал(а) kemiisto - 10.10.2008, 15:08

Присоединённый файл ( Кол-во скачиваний: 18 )
Присоединённый файл  ch5_10.10.08.zip 11,25 Kb


--------------------
PM MAIL WWW GTalk Jabber   Вверх
THandle
Дата 5.5.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: нет
Всего: 372



Цитата

Класс (class) – это определенный пользователем тип данных, включающий поля (fields), методы (methods) и свойства (properties). Поля, методы и свойства класса называют его членами (members).



Мне кажется лучше заменить на:

Цитата

Класс (class) – это определенный программистом тип данных, включающий поля (fields), методы (methods) и свойства (properties). Поля, методы и свойства класса называют его членами (members).


А то у новичков может произойти непонятка.

Цитата

Запомните – никогда не используйте непосредственный вызов метода Destroy.


А почему?

Цитата


Более безопасно и корректно вызывать метод Free.


Это ихо не объяснение. Нужно сказать, что Free вызывает в себе destroy, после проверки на, то существует ли объект, или нет.


Сегодня краску куплю, распечатаю, почитаю повнимательнее smile 
PM   Вверх
THandle
Дата 9.5.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хранитель Клуба
Group Icon
Награды: 1



Профиль
Группа: Админ
Сообщений: 3639
Регистрация: 31.7.2007
Где: Moscow, Dubai

Репутация: нет
Всего: 372



Кстати не плохо бы описать все виртуальные, динамические методы, их отличие. Так же финальные методы, strict, пару-тройку примерчиков по всему этому дать.
Я к сожалению очень занят в данный момент, вообще сейчас не до писанины и прочего. Прошу прощение. smile 
PM   Вверх
kemiisto
Дата 10.5.2008, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



По поводу замены "определенный пользователем" на определенный программистом" согласен. И по поводу Destroy/Free тоже. Поправлю обязательно!

Цитата(THandle @  9.5.2008,  18:05 Найти цитируемый пост)
Кстати не плохо бы описать все виртуальные, динамические методы, их отличие. Так же финальные методы, strict, пару-тройку примерчиков по всему этому дать.Я к сожалению очень занят в данный момент, вообще сейчас не до писанины и прочего. Прошу прощение.

Вот и у меня дел пока выше крыши. 2 защиты на носу. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Akella
Дата 7.10.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Цитата(THandle @  5.5.2008,  15:20 Найти цитируемый пост)
Запомните – никогда не используйте непосредственный вызов метода Destroy.


Цитата(THandle @  5.5.2008,  15:20 Найти цитируемый пост)
Более безопасно и корректно вызывать метод Free.

почему?

Добавлено через 4 минуты и 39 секунд
Цитата

Объект – это экземпляр класса, или переменная типа данных, определенного этим классом. 

научно, красиво, но не понятно

Добавлено через 13 минут и 24 секунды
Думаю, что к этому определению читателя нужно как-то подготовить. Например, можно ли сказать, что в ООП всё построено на объектах, что переменная - это объект, экземпляр  класса - это объект, ну что-то типа такого
Код

Var
 a: integer;
// a - это объект


Пример объявления класса
Код

Type
 TComPort = class(TObject)



//                                          TComPort - это объект



  private
    ComHandle:Cardinal;//для COM-порта
    Buf:array [0..con_MAX_SizeBuf-1] of Char; //для COM-порта

    FPortNumber:Integer;
    FBaud:Integer;

    function IsConnected: Boolean;
    procedure SetPortNumber(AValue:Integer);
    procedure SetBaud(AValue:Integer);

  protected

  public
   SizeBuf : integer;

   constructor Create;
   destructor  Destroy; override;
   procedure   CloseComPort;
   function    OpenInitPort(Size:Cardinal):boolean;
   function    SendComm(Buf:PChar;Size:Cardinal):Cardinal;
   function    ReadComm(Buf:PChar;Size:Cardinal):Cardinal;
   function    GetBarCodeFromComPort: String;


   property    Connceted: Boolean read IsConnected;
   property    PortNumber: Integer read FPortNumber write SetPortNumber default 1;// например 1
   property    Baud: Integer read FBaud write SetBaud default 9600;// например 9600
 end;

PM MAIL   Вверх
Akella
Дата 7.10.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



Цитата

класс – это описание, объект – то, что создано в соответствии с этим описанием. 


мне очень нравится это описание, главное, что понятно  smile

Добавлено через 57 секунд
даже мне понятно  smile  smile 
PM MAIL   Вверх
kemiisto
  Дата 10.10.2008, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 2
Всего: 160



Цитата(Akella @  7.10.2008,  19:57 Найти цитируемый пост)
почему?

В Delphi прямой вызов деструктора используется редко. Вместо него используют метод Free. Этот метод вначале проверяет существует ли уничтожаемый объект (не равен ли экземпляр объекта значению Nil,), а затем вызывает деструктор - метод Destroy(). Этот прием позволяет избегать ошибок, возникающих при обращении к несуществующему объекту.

Вот так устроит?

Цитата(Akella @  7.10.2008,  20:13 Найти цитируемый пост)
мне очень нравится это описание, главное, что понятно

 smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Akella
Дата 10.10.2008, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



нормально smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Начала Delphi | Следующая тема »


 




[ Время генерации скрипта: 0.0770 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.