Объектно ориентированные технологии - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Объектно ориентированные технологии»

textual
Листинг программы
type
 TString = class
  size: integer;
  value: string;
 
  function getValue: string;
  procedure setValue(value: string);
  constructor create(s: string);
  destructor destroy;
  procedure print;
  procedure input;
  function equal(s: TString): boolean;
  procedure join(s: TString);
  procedure insert(ch: char; index: integer);
end;
 
function TString.getValue: string;
begin
 self.getValue := self.value;
end;
 
procedure TString.setValue(value: string);
begin
 if self.value <> value then
  self.value := value;
 self.size := length(value);
end;
 
constructor TString.create(s: string);
begin
 self.setValue(s);
end;
 
destructor TString.destroy;
begin
 self.setValue('');
end;
 
procedure TString.print;
begin
 write(self.value);
end;
 
procedure TString.input;
var
 temp: string;
begin
 read(temp);
 self.setValue(temp);
end;
 
function TString.equal(s: TString): boolean;
begin
 self.equal := (self.getValue = s.getValue);
 end;
 
procedure TString.join(s: TString);
var
 temp: string;
begin
 temp := self.getValue + s.getValue;
 self.setValue(temp);
end;
 
procedure TString.insert(ch: char; index: integer);
var
 temp: string;
begin
 temp := self.getValue;
 temp[index] := ch;
 self.setValue(temp);
end;
 
 
var
 s: TString;
 
begin
 s := TString.create('test');
 s.print; // test
 s.insert('x', 3);
 s.print; // text
 s.destroy;
end.

Объяснение кода листинга программы

  1. Объявлен тип данных TString, который представляет собой класс с набором свойств и методов для работы со строками.
  2. В классе TString определены следующие свойства и методы:
    • size (свойство, хранящее размер строки)
    • value (свойство, хранящее значение строки)
    • getValue (метод, возвращающий значение свойства value)
    • setValue (метод, устанавливающий значение свойства value)
    • create (конструктор, создающий экземпляр класса с заданным значением)
    • destroy (деструктор, освобождающий ресурсы, занятые экземпляром класса)
    • print (метод, выводящий значение свойства value на экран)
    • input (метод, считывающий значение свойства value с экрана)
    • equal (метод, проверяющий равенство двух объектов типа TString)
    • join (метод, объединяющий два объекта типа TString в один)
    • insert (метод, вставляющий символ в строку в указанный индекс)
  3. В основной части программы создается экземпляр класса TString с именем s и значением 'test'.
  4. Метод print вызывается для вывода значения s на экран.
  5. Метод insert вызывается для вставки символа 'x' на третий индекс строки s.
  6. Метод print вызывается снова для вывода измененного значения s на экран.
  7. Метод destroy вызывается для освобождения ресурсов, занятых экземпляром класса s.
  8. Значение переменной s приводится к типу TString, чтобы можно было вызвать метод destroy.
  9. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы