日期:2014-05-17  浏览次数:21128 次

oracle中的指代关键字问题
在oracle中self指代自己,相当于java中的this
那么指代父亲的关键字是什么呢?类似于java中的supper (parent好像没有用)
以及还有其他指代的关键字么?
------最佳解决方案--------------------
没看明白。
------其他解决方案--------------------
真不大懂 要做什么?  或者直接上数据解释 清晰点  想要什么结果
------其他解决方案--------------------
就比如父类father有2个变量和一个方法,name,age,getname
子类son继承父类,覆盖父类的方法getname,并且有自己的方法writename
比如现在在writename中输出self.getname,输出的是son自己的名字,如何输出父亲的名字呢
类似于java中this.getname()获取子类自己的名字以及super().getname()获取父亲的名字
------其他解决方案--------------------
/*父类*/
create or replace type obj_father as object(
  name varchar2(30),
  age integer
)
not final;

/*子类*/
create or replace type obj_son under obj_father(
  name varchar2(30),
  age integer,

  member function get_son_name return varchar2,
  member function get_father_name return varchar2
)

create or replace type body obj_son

  member function get_son_name return varchar2 as
  begin
    return self.name; --这里返回的是son类的name
  end;

  member function get_father_name return varchar2 as
  begin
    return xxx.name; --这里该怎么写,可以返回父类的name
  end;

end;

以上只是个例子,不要告诉我该怎么从结构上换个变量名解决,我只想知道这个代词该怎么写
self相当于java、c语言中的this
那xxx该怎么写呢?可以相当于java中的super、c语言中的parent
------其他解决方案--------------------
居然不能编辑自己的帖子。。。