父类函数会调用子类函数吗

来源:百度知道 编辑:UC知道 时间:2024/06/28 23:50:41
PHP,或者其他语言也说说

如果在子类中覆盖了原父类函数假设为test(),那另外一个父类中的函数test1()调用test()会调用到父类的函数还是子类的函数?

PHP是弱语言..再加上学习的是JAVA...所以有些OOP的思想比较难实现

比如 覆盖和隐藏... JAVA中所有的方法都是虚方法...派生类在继承的时候...如果对方法重写,就实现了覆盖...我对JAVA不了解..所以不太清楚JAVA是否能实现隐藏~如果实现隐藏..情况就不一样了~~

我用C#做个例子

-- 情况1 : 方法的覆盖

class FatherObject
{
public virtual void Test() // 虚方法
{
Console.Write("Father Test()");
}

public void Test1()
{
this.Test();
}
}

class SonObject : FatherObject
{
public override void Test() // 实现覆盖..这个是JAVA的默认的动作~
{
Console.Write("Son Test()");
}
}

SonObject Obj = new SonObject();
Obj.Test1(); // 得到结果 Son Test()

-- 情况2 : 方法的隐藏

class FatherObject
{
public void Test() // 无所谓是不是虚方法
{
Console.Write("Father Test()");