Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2014, 23:40   #1
koudelka
Пользователь
 
Аватар для koudelka
 
Регистрация: 22.11.2013
Сообщений: 17
Вопрос Pascal.Реализация задачи (Имплементация методов класса) need help ^^

Всем привет! Ребятки, нужна ваша помощь.
Преподаватель поставил задачу, каждому взять тему и реализовать ее в паскале.
В общем, не смейтесь, моя тема - окраска волос хной.
Поставленные задачи:
1) Декларация классов - сделано.
2) Имплементация методов класса - кодирование - еще не выполнено.

Итак, в кратце, берем 2 ингридиента: 1)порошок хны, 2)воду, мешаем их и получаем смесь, наносим ее на волосы с помощью действий :) и вспомогательных инструментов и получаем в итоге окрашенные волосы :)
Нужна помощь со вторым пунктом, с реализацией задачи(продолжить код).
Код:

Код:
Program Okraska;
{$mode objfpc}
uses crt;

type TInstrument = (TImiska,TIlojka,TIras4eska,TIkisto4ka);   //вспомогательные инструменты
type  TInstruments = set of TInstrument;
////////////////////////////////////////////////////////////////////////
{класс ingredient}
type TIngredient = class

Private
FName : string;
FComponent1 : TIngredient ;  
FComponent2 : TIngredient ;
FMaterial : string; 
FColor : string;
  
Public
property Name: string read FName;  //Имя
property Component1: TIngredient read FComponent1 write FComponent1;      //Состав 1 ингрeдиент
property Component2: TIngredient read FComponent2 write FComponent2;      //Состав 2 ингрeдиент
property Material: string read FMaterial;      //Материал
property Color: string read FColor;     //Цвет

end;
////////////////////////////////////////////////////////////////////////
{класс Action}
type TAction = class

Private
FName : string;
FInstrument : TInstruments;

Public
Ingredients: array of TIngredient;   //Массив 2ух Ингрeдиентов
property Name: string read FName;  //Имя
property Instruments : TInstruments read FInstrument;   //Инструменты
function DoAction() : TIngredient; virtual;abstract;{override}

end;
////////////////////////////////////////////////////////////////////////
{класс TIspolnitel}
type TIspolnitel = class

Private
FActions: array of TAction;  //Массив действий
FPlan : string; 
procedure setAction(i:integer; value: TAction); virtual;
function getAction(i:integer) : TAction; virtual;abstract;

Public
property Plan: string read FPlan;  //План
property Actions[i:integer]: TAction read getAction write setAction;  //Действия

end;
////////////////////////////////////////////////////////////////////////
{Наследник Action'a TMakeSmes}
type TMakeSmes  = class(TAction)

public
function DoAction() : TIngredient; override;   //действие - создание смеси
end;
/////////////////////////////////////////////////////////////////////////
{Наследник Action'a Nanesenie}
type TNanesenie  = class(TAction)

public
function DoAction() : TIngredient; override;   //действие - нанесение смеси
end;
////////////////////////////ОПИСАНИЕ ПРОЦЕДУР////////////////////////////
{procedure TAction.setIngredient(n:integer; value: TIngredient);
begin

end;}
////////////////////////////////////////////////////////////////////////
procedure TIspolnitel.setAction(i:integer; value: TAction);
begin
FActions[i] := Value;  
end;
////////////////////////////////////////////////////////////////////////
function TMakeSmes.DoAction() : TIngredient;   //описание действия - создание смеси
var
 M: TIngredient;
begin
M := TIngredient.create;   //описание действия - создание смеси
M.Component1 := Ingredients[1];  
M.Component2 := Ingredients[2];
DoAction := M;
end;
////////////////////////////////////////////////////////////////////////
BEGIN

END.

Последний раз редактировалось koudelka; 04.06.2014 в 23:49.
koudelka вне форума Ответить с цитированием
Старый 06.06.2014, 22:12   #2
koudelka
Пользователь
 
Аватар для koudelka
 
Регистрация: 22.11.2013
Сообщений: 17
По умолчанию

Разобралась!
koudelka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна подсказка по ООП - реализация класса "Книга" и методов обработки на Delphi kibrycker Помощь студентам 11 16.04.2013 11:10
Автоматическая реализация методов интерфейсов. WizarD.89 C# (си шарп) 2 11.04.2013 20:22
перегрузка методов класса (с++) Antej Общие вопросы C/C++ 2 24.07.2012 17:58
Лабораторная работа. Реализация одного из методов оптимизации MadLow Фриланс 3 11.12.2011 19:04
массив методов класса DartDayring Общие вопросы C/C++ 0 07.12.2010 20:00