标题:C++/Java/C#子类调用父类函数情况总结
在OOP(面向对象编程)中,子类可以通过继承父类的方法和属性来实现代码的重用性。但有时子类需要调用到父类中的函数,这时就需要使用到父类函数的调用技巧。本篇文章将总结C++/Java/C#子类如何调用父类函数。
C++中子类调用父类函数
在C++中,子类可通过类名::函数名
来调用父类中的函数。其中,类名
是父类的类名,函数名
是父类的函数名。
下面是一个示例:
#include <iostream>
using namespace std;
class Parent {
public:
void myFunction(){
cout << "This is parent's function." << endl;
}
};
class Child: public Parent {
public:
void myFunction(){
Parent::myFunction(); //调用父类中的myFunction函数
cout << "This is child's function." << endl;
}
};
int main() {
Child c;
c.myFunction(); //调用子类中的myFunction函数
return 0;
}
在上面的示例中,Child类继承了Parent类,并且重新定义了myFunction函数。在子类myFunction函数中,通过Parent::myFunction()
来调用父类中的myFunction函数。
运行结果:
This is parent's function.
This is child's function.
Java中子类调用父类函数
在Java中,子类可通过super.函数名
来调用父类中的函数。
下面是一个示例:
public class Parent {
public void myFunction() {
System.out.println("This is parent's function.");
}
}
public class Child extends Parent {
public void myFunction() {
super.myFunction(); //调用父类中的myFunction函数
System.out.println("This is child's function.");
}
}
public class Main {
public static void main(String[] args) {
Child c = new Child();
c.myFunction(); //调用子类中的myFunction函数
}
}
在上面的示例中,Child类继承了Parent类,并且重新定义了myFunction函数。在子类myFunction函数中,通过super.myFunction()
来调用父类中的myFunction函数。
运行结果:
This is parent's function.
This is child's function.
C#中子类调用父类函数
在C#中,子类可通过base.函数名
来调用父类中的函数。
下面是一个示例:
using System;
public class Parent {
public virtual void myFunction() {
Console.WriteLine("This is parent's function.");
}
}
public class Child : Parent {
public override void myFunction() {
base.myFunction(); //调用父类中的myFunction函数
Console.WriteLine("This is child's function.");
}
}
class Test {
static void Main() {
Child c = new Child();
c.myFunction(); //调用子类中的myFunction函数
}
}
在上面的示例中,Child类继承了Parent类,并且重新定义了myFunction函数。在子类myFunction函数中,通过base.myFunction()
来调用父类中的myFunction函数。
运行结果:
This is parent's function.
This is child's function.
以上就是C++/Java/C#子类调用父类函数的总结攻略。在继承关系中,子类重写或新增方法时,使用父类中的方法可增强代码的可读性和可维护性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++/JAVA/C#子类调用父类函数情况总结 - Python技术站