1) Розробити програму з наслідуванням об'єктами атрибутів одного класу для обчислення площ двох прямокутних трикутників із відомими катетами.
2)Розробити програму з наслідуванням методів одного класу іншим класом, у якій клас А1 є суперкласом, а клас А2 - підкласом. Клас А2 має доступ до всіх атрибутів класу А1. Програма обчислює суму, добуток і частку трьох пар чисел.
Ответы
Ответ:
1)
type
Triangle = class
private
FLeg1: real;
FLeg2: real;
public
property Leg1: real read FLeg1 write FLeg1;
property Leg2: real read FLeg2 write FLeg2;
function Area: real;
end;
function Triangle.Area: real;
begin
Result := 0.5 * Leg1 * Leg2;
end;
var
t1, t2: Triangle;
begin
t1 := Triangle.Create;
t2 := Triangle.Create;
t1.Leg1 := 3;
t1.Leg2 := 4;
t2.Leg1 := 5;
t2.Leg2 := 6;
WriteLn('Area of triangle 1: ', t1.Area:0:2);
WriteLn('Area of triangle 2: ', t2.Area:0:2);
end.
2)
type
A1 = class
private
FNum1: integer;
FNum2: integer;
public
property Num1: integer read FNum1 write FNum1;
property Num2: integer read FNum2 write FNum2;
function Sum: integer;
function Product: integer;
end;
A2 = class(A1)
public
function Fraction: real;
end;
function A1.Sum: integer;
begin
Result := Num1 + Num2;
end;
function A1.Product: integer;
begin
Result := Num1 * Num2;
end;
function A2.Fraction: real;
begin
Result := Num1 / Num2;
end;
var
a: A2;
begin
a := A2.Create;
a.Num1 := 3;
a.Num2 := 4;
WriteLn('Sum: ', a.Sum);
WriteLn('Product: ', a.Product);
WriteLn('Fraction: ', a.Fraction:0:2);
end.
Объяснение: