基类和子类的调用顺序(C#,java)

原创 2004年07月01日 16:49:00

现在关于oo的编程思想已经越来越被大家接受,但是大家对一些基础化的东西不是很熟悉,比如基类和子类的调用顺序。在这里我以c#为例给大家讲解一下
对于一个下面一段代码?
public class baseClass
?{
??public string a="baseClass" ;
??????????????? public baseClass()
??{
??????? ??a="初始化baseClass";
??}
??
?}
?public class ExtendClass:baseClass
?{
??private string b="ExtendClass";
??public ExtendClass():base()
??{
???b="初始化ExtendClass";

??}

?}
如果我们这样写代码?
baseClass a=new ExtendClass()
程序执行过程执行步骤
1。private string b="ExtendClass";
2。public string a="baseClass" ;
3. public baseClass()
??{
??????? ??a="初始化baseClass";
??}
4.public ExtendClass():base()
??{
???b="初始化ExtendClass";

??}
这是我以c#为例子讲解的,当然其他的语言的执行过程可能不尽相同,就我所知,java的执行过程和c#就不仅相同。
他的执行过程是
1。public string a="baseClass" ;
2。private string b="ExtendClass";
3. public baseClass()
??{
??????? ??a="初始化baseClass";
??}
4.public ExtendClass():base()
??{
???b="初始化ExtendClass";

??}

vb.net是

1。public string a="baseClass" ;
2。public baseClass()
??{
??????? ??a="初始化baseClass";
??}

3. private string b="ExtendClass";

4.public ExtendClass():base()
??{
???b="初始化ExtendClass";

??}
好了就写到这里,做大家工作愉快。

Java____父类、子类——构造代码块、方法调用顺序问题

package fatherson; //先静态初始化并且只有一次!!然后构造代码块!!再构造方法!! //声明一个继承自父类的子类时,先把父类的构造代码块及构造方法初始化然后初始化子类的构造代码...
  • u010241120
  • u010241120
  • 2015年08月26日 09:46
  • 1969

Java异常处理、异常处理使用的一些注意点(例如,基类和子类捕获的顺序问题)

Java提供了两种错误的异常类,分别为Error和Exception,且它们拥有共同的父类——Throwable。 Error表示程序在运行期间出现了非常严重的错误,并且该错误是不可恢复的,由于这...
  • Dove_Knowledge
  • Dove_Knowledge
  • 2017年04月30日 16:05
  • 533

关于父类与子类的构造函数调用顺序

关于父类与子类的构造函数调用顺序
  • qq_36846891
  • qq_36846891
  • 2017年04月08日 12:04
  • 901

如何根据基类指针来判断这个基类是由那个子类转换而来!

在C++中如果想在运行而不是在编译的过程中获得对象的具体的类型,那么就必须要用到虚函数。其实虚函数的出现就可以理解为需要在运行的时候知道对象的具体类型,反之亦然。既然用到了虚函数,那么就可以实用dyn...
  • u012307430
  • u012307430
  • 2016年07月11日 14:21
  • 720

C#父类强制转换成子类,子类隐式转换成父类

看你将父类引用到的是父类对象还是子类对象了. 比如Person类是Student的父类 那么可以将p直接强制转换为Student: Person p=new Student(); Studen...
  • Sayesan
  • Sayesan
  • 2016年03月09日 10:36
  • 5428

C#中子类与父类的相互转换

C#中子类与父类的相互转换 1.父类不能直接强制转换成子类 2.子类可以强制转换成父类,但是在父类中只能取父类的字段与方法     因此在一个父类对应多个子类的时候,不知道具体是哪个子类的时候...
  • LiuFengSh
  • LiuFengSh
  • 2016年10月12日 15:18
  • 3732

C#中子类与父类的相互转换

1.父类不能直接强制转换成子类 2.子类可以强制转换成父类,但是在父类中只能取父类的字段与方法因此在一个父类对应多个子类的时候,不知道具体是哪个子类的时候,就可以先声明一个父类的类型。(如例1) ...
  • a1256242238
  • a1256242238
  • 2017年06月02日 12:08
  • 2153

子类extends父类方法执行顺序

不解释自己看: 父类:Person public class Person{ String name; int age; { System.out.println("父类的非静态代码块"...
  • superit401
  • superit401
  • 2016年07月29日 19:29
  • 1156

java中父类和子类初始化顺序

顺序 1. 父类中静态成员变量和静态代码块 2. 子类中静态成员变量和静态代码块 3. 父类中普通成员变量和代码块,父类的构造函数 4. 子类中普通成员变量和代码块,子类的构造函数 其中“和”字两...
  • yuxin6866
  • yuxin6866
  • 2016年11月09日 23:39
  • 1603

父类调用子类的成员变量

原文地址:http://xianglachigen.iteye.com/blog/1563929 前两天被问到一个程序,觉得挺有意思,拿出来和大家分享一下。程序如下:  class B...
  • shelbyandfxj
  • shelbyandfxj
  • 2016年08月20日 11:18
  • 2534
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基类和子类的调用顺序(C#,java)
举报原因:
原因补充:

(最多只允许输入30个字)