所以我一直在我的新工作,去槽的類型和他們幾乎都這個樣子爲什麼使用額外的過程來初始化值而不是在構造函數中進行?
create or replace TYPE BODY T_Some_Type AS
CONSTRUCTOR FUNCTION T_Some_Type
RETURN SELF AS RESULT AS
BEGIN
INTIALIZE();
RETURN;
END T_Some_Type;
MEMBER PROCEDURE INTIALIZE AS
BEGIN
var1 := 0;
var2 := 0;
var3 := 0;
END INTIALIZE;
END;
作爲精通OOP,但新的PL/SQL,我一直在想,爲什麼使用額外的過程來初始化變量,當它可以在構造器中直接完成時,使得對象界面在內存上更簡單和更輕。 這是我通常會做到這一點:
create or replace TYPE BODY T_Some_Type AS
CONSTRUCTOR FUNCTION T_Some_Type
RETURN SELF AS RESULT AS
BEGIN
var1 := 0;
var2 := 0;
var3 := 0;
RETURN;
END T_Some_Type;
END;
它有什麼優勢或者這個建議由於某種原因? 請指教。
也許他們希望能夠通過調用'initialize'來重新初始化對象? –
我不能通過將對象設置爲新對象來再次調用構造器代碼?就像我第一次初始化它? –