Книга «Экспресс курс программирования в Lazarus»

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Re: Книга «Экспресс курс программирования в Lazarus»

Сообщение tuzik87@inbox.ru » 11.11.2024 13:02:21

Выложил новую редакцию книги. Добавил новую главу в шестую часть книги и исправил мелкие недочеты.
Ссылка для скачивания - http://popovevgeniy.hostfree.pw/download/technical/Lazarus.zip
tuzik87@inbox.ru
постоялец
 
Сообщения: 149
Зарегистрирован: 25.12.2012 15:05:28
Откуда: Россия, Новосибирск

Re: Книга «Экспресс курс программирования в Lazarus»

Сообщение Alexander » 11.11.2024 15:15:31

Почему "нельзя" ?

Глава 1. Объекты без классов
Объекты сами по себе
Можно так же определять объекты без использования классов. Существует
несколько отличий от представителей классов.

Нельзя использовать свойства.
По умолчанию объект размещается в стеке.
Память под объект выделяется при входе в блок, который его содержит.
Память автоматически освобождается при выходе из блока.
Конструктор и деструктор необходим только для динамических объектов
или при наличии виртуальных методов.
Описание объекта
Объект описывается аналогично классу, но ключевое слова class заменяется на
object.


Можно:

Код: Выделить всё
program testobj;

{$MODE OBJFPC}
{$H+}

type
MyTest = object
fDummy : Int64;
private
procedure SetDummy(value : Int64);
function GetDummy : Int64;
public
property Dummy : Int64 read GetDummy write SetDummy;
end;

procedure MyTest.SetDummy(value : Int64);
begin
fDummy := value;
end;

function MyTest.GetDummy : Int64;
begin
Exit(fDummy);
end;

var
o : MyTest;

begin
o.Dummy := 123;
WriteLn(o.Dummy);
end.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Re: Книга «Экспресс курс программирования в Lazarus»

Сообщение Awkward » 11.11.2024 15:43:45

Alexander писал(а):Почему "нельзя" ?

Справедливо, Почему нельзя? Сам давно активно использую наравне с классами и объекты, и проперти в них. Не говоря о том, что проперти можно делать и вне классов/объектов, на уровне юнита.
Awkward
новенький
 
Сообщения: 48
Зарегистрирован: 19.01.2017 00:06:47

Re: Книга «Экспресс курс программирования в Lazarus»

Сообщение tuzik87@inbox.ru » 11.11.2024 16:10:00

Awkward, моя недоработка. Во Free Pascal правила дя объектов на стеке немного отличаються от Turbo Pascal. На каких версиях компилятора проверяли?
tuzik87@inbox.ru
постоялец
 
Сообщения: 149
Зарегистрирован: 25.12.2012 15:05:28
Откуда: Россия, Новосибирск

Re: Книга «Экспресс курс программирования в Lazarus»

Сообщение Awkward » 11.11.2024 19:21:24

tuzik87@inbox.ru писал(а):Awkward, моя недоработка. Во Free Pascal правила дя объектов на стеке немного отличаються от Turbo Pascal. На каких версиях компилятора проверяли?

Не уверен, что это как-то от версии зависит. Ну, по крайней мере, если это не версия 20 летней давности. Использую давно, хоть и сижу сейчас на транках.
Awkward
новенький
 
Сообщения: 48
Зарегистрирован: 19.01.2017 00:06:47

Re: Книга «Экспресс курс программирования в Lazarus»

Сообщение Снег Север » 12.11.2024 08:27:59

После появления записей с методами, реальные различия между записями, объектами и классами стали достоянием истории или фриков, которые лезут в дизассемблер.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3038
Зарегистрирован: 27.11.2007 16:14:47

Re: Книга «Экспресс курс программирования в Lazarus»

Сообщение tuzik87@inbox.ru » 18.11.2024 13:17:36

Выложил новую редакцию книги. Доработал третью главу из девятой части и исправил неточность в первой главе из четвертой части.
Ссылка для скачивания - http://popovevgeniy.hostfree.pw/download/technical/Lazarus.zip
tuzik87@inbox.ru
постоялец
 
Сообщения: 149
Зарегистрирован: 25.12.2012 15:05:28
Откуда: Россия, Новосибирск

Re: Книга «Экспресс курс программирования в Lazarus»

Сообщение Alexander » 18.11.2024 14:38:18

Спасибо !
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Пред.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

Рейтинг@Mail.ru