class complex (x,y); real x,y; begin real angle, radius; - a radiuS: =sqrt (X**2+y**2) if abs (x) <epsilon then begin if abs(y epsilon then error else begin if y>epsilon then angle: =pi/2 else angle = 3*pi/2 end end else angle: =arctan(y/x) end complex
class complex(x,y);real x,y; begin real angle,radius; radius:=sqrt(x**2+y**2); if abs(x)<epsilon then begin if abs(y)<epsilon then error else begin if y>epsilon then angle:=pi/2 else angle:=3*pi/2 end end else angle:=arctan(y/x) end complex
2.类的有关性质 ①类说明定义了一类数据对象的原型 或样板 ②类的每个实例是一个可操作的数据 对象 ③类的实例可多次动态建立且仅能通 过指针引用 例: ref(complex)c; C: -new complex(1.0, 1.0)
2. 类的有关性质 ①类说明定义了一类数据对象的原型 或样板 ②类的每个实例是一个可操作的数据 对象 ③类的实例可多次动态建立,且仅能通 过指针引用 例: ref(complex) c; c:- new complex(1.0, 1.0);
0.78 angle 42 lius 1.0 X 1.0
c 0.78 1.42 1.0 1.0 angle radius xy
④类实例的属性是指类体的局部变量 和类头中的参数 my angle:≡c. angle my radius: cradius, my X.C.X my y -Cy
④类实例的属性是指类体的局部变量 和类头中的参数 my_angle:=c.angle; my_radius:=c.radius; my_x:=c.x; my_y:=c.y;
⑤类支持抽象数据类型的封装机制它 可以封裝实现对数据操作的各种过程 例可将复数加和乘的过程ad和 multipl封 装入类 complex的类体说明中,作为 complex的属性 procedure add(operand) ref(complex) operand procedure multiply(operand); ref(complex)operand 变量cl、c2引用的两个复数相加可表示为 cl. add( c2)
⑤类支持抽象数据类型的封装机制,它 可以封装实现对数据操作的各种过程 例: 可将复数加和乘的过程add和multiply封 装入类complex的类体说明中, 作为 complex的属性。 procedure add(operand);ref (complex) operand procedure multiply(operand);ref (complex) operand 变量c1、c2引用的两个复数相加可表示为: c1.add(c2)