Вниз
Скачать: CL | DM;

Вопрос по созданию класса   Найти похожие ветки 

 
leonidus   (2004-09-21 09:19) [0]

Мастера не сочтите ламером, просто раньше как-то явно с ООП не сталкивался а теперь заставили, и сразу грабли.
В консольном приложении, надо создать класс TAutomobile с некими полями и методами, а также конструктором который должен принимать данные их командной строки, я делаю так:
type
TAutomobile=class(TObject)
 //описываем поля
 TekV:word;
 Napr_Grad:word;
 Name:string;
 ID:word;
 Nomer:word

 //описывем методы
 constructor Create;
 procedure ChangeSpeed(delta:word);
 procedure Stop;
end;

на строке constructor Create; компилятор выдает "Unsatisfied forward or external declaration: TAutomobile.Create" чего ему нужно?


 
Ozone ©   (2004-09-21 09:24) [1]

LOL :)))

Дык кто за тебя будет писать:

constructor TAutomobile.Create;
begin
    {....}
end;


 
ЮЮ ©   (2004-09-21 09:25) [2]

а в секции implementation есть строки:

constructor TAutomobile.Create;
begin

end;


 
ЮЮ ©   (2004-09-21 09:27) [3]

Кстати, написать их за тебя может и Delphi:
Complete class at cursor Shift-Ctrl-C


 
leonidus   (2004-09-21 09:35) [4]

>Ozone спасибо, я думал это потом можно написать:)
и еще один вопросик, что значит "предложить для всех полей модификаторы доступа"? Типа перекрыть их что ли ?


 
Ozone ©   (2004-09-21 09:41) [5]

???
может затисать их в public, private...


 
leonidus   (2004-09-21 09:48) [6]

я тоже удивился формулировке задачи:) ну а тогда как понимать "для всех полей"? Одни и теже поля записать и в public и в private?


 
ЮЮ ©   (2004-09-21 09:53) [7]

поля в private (и их идентификаторы должны начинаться с F), а свойства в public

private
 FName: string;
public
 Name: string read GetName write SetName;

после Shift-Ctrl-C получишь строки кода для GetName и SetName как в interface, так и в implementation


 
leonidus   (2004-09-21 09:55) [8]

>ЮЮ а тогда причем здесь модификаторы доступа? непонял вашу мысль?


 
КаПиБаРа ©   (2004-09-21 09:59) [9]

leonidus   (21.09.04 9:35) [4]
предложить для всех полей модификаторы доступа


Я думаю в переводе на русский создать свойства объекта обращение к которым происходит с помощью методов Get... и Set...

=======================================
Пишите коротко и неясно.
(Наполеон I - составителям Конституции)
=======================================


 
leonidus   (2004-09-21 10:03) [10]

Ок, попробую...


 
leonidus   (2004-09-22 09:27) [11]

написал  
TekV:real read GetTekV write SetTekV;
че-то не догоняю, это значит к полю TekV будут именб доспут на чтение и запись соотв. процедуры GetTekV и SetTekV другого класса что ли или как, и где тогда эти процедуры описывать? По тому что я их вообще не описываю но проект компилися нормально.


 
KSergey ©   (2004-09-22 09:31) [12]

Букварь в зубы!!!
Как завещал великий.


 
Суслик ©   (2004-09-22 09:35) [13]

Автору
-------

Не первый раз вижу тебя спрашивающим на форуме.
Пойми, нельзя спрашивать такие вещи как сейчас. Прошлый вопрос про кодировки из WinApi вполне приемлем, т.к. зная дельфи ты не обязан знать все разделы MSDN. Но данный вопрос, совершенно невозможен - ясно, что ты не читал ни одной книги по обсуждаемому предмету. Так нельзя. Вернее можно, но результат образования будет желать лучшего. Проверь, если не веришь.


 
КаПиБаРа ©   (2004-09-22 09:36) [14]

leonidus   (22.09.04 9:27) [11]
unit Unit2;

interface

type
TMyClass = class
 private
   FPole1: integer;
   FPole2: integer;
   function GetProp2: Integer;
   procedure SetProp2(const Value: Integer);
 public
   property Prop1: Integer read FPole1 write FPole1;
   property Prop2: Integer read GetProp2 write SetProp2;
end;

implementation

{ TMyClass }

function TMyClass.GetProp2: Integer;
begin
 Result := FPole2;
end;

procedure TMyClass.SetProp2(const Value: Integer);
begin
 if Value < 100 then
   FPole2 := Value;
end;

end.

======================================
Эллипс - это круг, вписанный в квадрат
со сторонами три на четыре.
======================================


 
Sandman25 ©   (2004-09-22 09:37) [15]

[14] КаПиБаРа ©   (22.09.04 09:36)

 property Prop2: Integer read FPole2 write SetProp2;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.025 c
1-1096020892
П7
2004-09-24 14:14
2004.10.10
Позднее связываение Excel и OLE контейнер


14-1095933019
Lexxx
2004-09-23 13:50
2004.10.10
Помогите найти компонент.


8-1090069922
Nolf
2004-07-17 17:12
2004.10.10
плагин к Winamp у


4-1094233172
musk
2004-09-03 21:39
2004.10.10
ширина текста-подсчет


3-1095263457
Surrender
2004-09-15 19:50
2004.10.10
DateTime в формате String в базе Access




   Наверх