假设一个对象被创建为:
CREATE OR REPLACE type test_obj as object (
item varchar2(20),
constructor function test_obj return self as result
)
CREATE OR REPLACE type body test_obj as
constructor function test_obj return self as result as
begin
self.item := 'xyz';
return;
end;
end;
然后它可以在plsql中用作:
declare
x test_obj;
begin
x:= test_obj();
end;
可以创建成员函数并调用它们,如:
x test_obj := test_obj();
y number;
y := x.somefunction('abc');
是否可以创建成员函数来支持这种语法:
x test_obj := test_obj();
y number;
y := x('abc');
答案 0 :(得分:0)
我认为这是不可能的。这样就会破坏面向对象方法的目的。 由于x是对象类型的实例,因此您必须使用点表示法调用其方法。
BR, TVS