■构造顺序:子类对象在创建时,构造函数的调用顺序是:首先调用父类构造函数,再调用自己的构造函数。默认情况下,子类构造函数中调用的是父类不带参数的构造函数。
■base关键字与this关键字相似,它表示当前类的直接父类对象,需要明确使用父类成员时就要使用base关键字。
■base关键字与this关键字相似,它表示当前类的直接父类对象,需要明确使用父类成员时就要使用base关键字。
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Inherit
{
// / <summary>
// / parent class
// / </summary>
class BaseClass {
public BaseClass( int pubVal) {
System.Console.WriteLine( " BaseClass(int) created " );
}
public BaseClass() {
System.Console.WriteLine( " BaseClass() created " );
}
}
// / <summary>
// / child class inherited from BaseClass
// / </summary>
class DevClass : BaseClass {
public DevClass() {
System.Console.WriteLine( " DevClass() created " );
}
public DevClass( int pubVal):base(pubVal)
{
System.Console.WriteLine( " DevClass(int) created " );
}
}
// / <summary>
// /class for testing result
// / </summary>
class Program
{
static void Main(string[] args)
{
DevClass devClass1 = new DevClass();
DevClass devClass2 = new DevClass( 12 );
System.Console.ReadLine();
}
}
}
运行结果:
BaseClass() created
DevClass() created
BaseClass(int) created
DevClass(int) created
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Inherit
{
// / <summary>
// / parent class
// / </summary>
class BaseClass {
public BaseClass( int pubVal) {
System.Console.WriteLine( " BaseClass(int) created " );
}
public BaseClass() {
System.Console.WriteLine( " BaseClass() created " );
}
}
// / <summary>
// / child class inherited from BaseClass
// / </summary>
class DevClass : BaseClass {
public DevClass() {
System.Console.WriteLine( " DevClass() created " );
}
public DevClass( int pubVal):base(pubVal)
{
System.Console.WriteLine( " DevClass(int) created " );
}
}
// / <summary>
// /class for testing result
// / </summary>
class Program
{
static void Main(string[] args)
{
DevClass devClass1 = new DevClass();
DevClass devClass2 = new DevClass( 12 );
System.Console.ReadLine();
}
}
}
运行结果:
BaseClass() created
DevClass() created
BaseClass(int) created
DevClass(int) created