Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
ВнизВопрос по созданию класса Найти похожие ветки
← →
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 вся ветка
Форум: "Основная";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.038 c