![]() |
|
#1
|
|||
|
|||
![]() Доброго времени суток.
Никак не могу разобраться с классами. Читаю литературу, но не могу составить общую картину что к чему. //как создать его я понял) Код:
где описывать эти функции? зачем нужен конструктор? зачем свойства(property)? Заранее спасибо. Последний раз редактировалось lmikle, 05.08.2011 в 21:53. |
#2
|
||||
|
||||
![]() Код:
функцию и процедуру описываешь ниже конструктор в данном случае нужен чтобы отработать создание |
#3
|
|||
|
|||
![]() А можно попроще пример?)
я начинающий) этот класс, я так понимаю потомок уже? |
#4
|
|||
|
|||
![]() а конструктор создает объект данного класса?
|
#5
|
|||
|
|||
![]() Цитата:
|
#6
|
|||
|
|||
![]() невыходит. может из-за версии (делфи5)?
но с функциями вроде понятно. в разделе implementation описывать.. |
#7
|
|||
|
|||
![]() а contol+клик работает?
например у меня если по слову TForm контрол-кликнуть то откроется то место где класс TForm описан, а там от описания методов к реализации можно прыгать ctrl+shift+стрелка-вниз или стрелка-вверх |
#8
|
|||
|
|||
![]() объясните пожалуйста
как используется конструктор? |
#9
|
||||
|
||||
![]() В общем случае, конструктор даёт команду Дельфи(компилятору) выделить память под класс. В расширенном, здесь задаётся инициализация всего и вся, что будет использоваться в классе.
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#10
|
|||
|
|||
![]() как я понял, с помощью конструктора память выделяется под экземпляр класса(объект) это неправильно?
и что значит "десь задаётся инициализация всего и вся, что будет использоваться в классе" ведь например переменную можно объявить без использования конструктора..?? не шарю ![]() |
#11
|
|||
|
|||
![]() правильно, ex - объект, tbitmap - класс
var ex: tbitmap; begin ex = tbitmap.create; .. ex.free; end; в конструкторе принято устанавливать значения по умолчанию для переменных экземпляра класса, или если есть обязательные то передавать прямо в конструктор. смысл всего этого чтобы спрятать внутренние переменные объекта от внешнего доступа в секцию private. Что по-идее ведет к более чистому и гибкому коду |
#12
|
|||
|
|||
![]() напишите пожалуйста самый элементарный пример с классом
![]() |
#13
|
||||
|
||||
![]() Такой подойдёт?
Код:
- Товарищ прапорщик!!! Остановите поезд!!! - Поезд СТОЙ! РАЗ! ДВА! |
#14
|
|||
|
|||
![]() unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Label1: TLabel; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; test = class private a: integer; public function x(y: integer): integer; end; var Form1: TForm1; implementation constructor test.create; begin a:=0; end; function test.x(y: integer):integer; begin x:=a+y; end; {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin label1.Caption := inttostr(function test.x(5)); end; end. |
#15
|
|||
|
|||
![]() посмотрите что не так((
|