请指导我这个oops的概念

Red*_*wan 1 oop

最近的一次采访中我遇到了这个问题:

class1
{ 
  virtual getname();
  {//code here..}
}

class2:class1
{
  overrides getname();
  {//code here..}

}
class3:class2
{
  public new getname();
  {//code here..}

}

class4
{
  class1 obj=new class3();
  obj.getname();
}
Run Code Online (Sandbox Code Playgroud)

现在class4哪个类的方法会调用?为什么?什么叫oops这个概念?

Dav*_*und 5

getnameclass3将其所调用的唯一的一个.

它被称为方法隐藏

摘自链接

简单地说,如果方法没有覆盖派生方法,它就会隐藏它.必须使用new关键字声明隐藏方法.