Объектно ориентированные технологии - 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.
Объяснение кода листинга программы
- Объявлен тип данных TString, который представляет собой класс с набором свойств и методов для работы со строками.
- В классе TString определены следующие свойства и методы:
- size (свойство, хранящее размер строки)
- value (свойство, хранящее значение строки)
- getValue (метод, возвращающий значение свойства value)
- setValue (метод, устанавливающий значение свойства value)
- create (конструктор, создающий экземпляр класса с заданным значением)
- destroy (деструктор, освобождающий ресурсы, занятые экземпляром класса)
- print (метод, выводящий значение свойства value на экран)
- input (метод, считывающий значение свойства value с экрана)
- equal (метод, проверяющий равенство двух объектов типа TString)
- join (метод, объединяющий два объекта типа TString в один)
- insert (метод, вставляющий символ в строку в указанный индекс)
- В основной части программы создается экземпляр класса TString с именем s и значением 'test'.
- Метод print вызывается для вывода значения s на экран.
- Метод insert вызывается для вставки символа 'x' на третий индекс строки s.
- Метод print вызывается снова для вывода измененного значения s на экран.
- Метод destroy вызывается для освобождения ресурсов, занятых экземпляром класса s.
- Значение переменной s приводится к типу TString, чтобы можно было вызвать метод destroy.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д