1、实例化父类时,可以使用new子类,执行构造函数顺序为:先执行父类构造函数,再执行子类构造函数。
2、实例化子类时,只可以new子类,执行顺序同上。
3、父类实例化后,只能执行父类的方法,获得父类的属性等。
4、实例化子类后,可同时执行子类和父类的方法和属性,如同名方法,则执行子类的方法。
附代码:
using
System;
using System.Collections.Generic;
using System.Text;
namespace ClassLibrary1
... {
public class Class1
...{
}
public class NetClass
...{
static string s = "NetClassaaaaaa";
static string c = "NetClassbbbbbb";
public NetClass()
...{
Console.WriteLine("NetClass:NetClass()");
}
public NetClass(string sNo1)
...{
Console.WriteLine("NetClass:NetClass(sNo1)");
}
public NetClass(string sNo1, string sNo2)
...{
Console.WriteLine("NetClass:NetClass(sNo1,sNo2)");
}
public string S
...{
get
...{
return s;
}
}
public string C
...{
get
...{
return c;
}
}
public string Emp()
...{
return "NetClassEmp";
}
}
public class NetClass2 : NetClass
...{
static string s = "NetClass2-111111";
static string c = "NetClass2-222222";
public NetClass2()// : base("789")
...{
Console.WriteLine("NetClass2:NetClass2()");
}
public NetClass2(string sNo1)// : base(sNo1,"789")
...{
Console.WriteLine("NetClass2:NetClass2(sNo1)");
}
public NetClass2(string sNo1, string sNo2) : this()
...{
Console.WriteLine("NetClass2:NetClass2(sNo2)");
}
public string Ss
...{
get
...{
return s;
}
}
public string Cc
...{
get
...{
return c;
}
}
//public string C
//{
// get
// {
// return c;
// }
//}
public string Emp()
...{
return "NetClass2Emp";
}
}
public class MainClass
...{
public static void Main()
...{
NetClass2 nt = new NetClass2("asdf");
Console.WriteLine(nt.C);
Console.WriteLine(nt.Cc);
Console.WriteLine(nt.Emp());
Console.ReadKey();
}
}
}
using System.Collections.Generic;
using System.Text;
namespace ClassLibrary1
... {
public class Class1
...{
}
public class NetClass
...{
static string s = "NetClassaaaaaa";
static string c = "NetClassbbbbbb";
public NetClass()
...{
Console.WriteLine("NetClass:NetClass()");
}
public NetClass(string sNo1)
...{
Console.WriteLine("NetClass:NetClass(sNo1)");
}
public NetClass(string sNo1, string sNo2)
...{
Console.WriteLine("NetClass:NetClass(sNo1,sNo2)");
}
public string S
...{
get
...{
return s;
}
}
public string C
...{
get
...{
return c;
}
}
public string Emp()
...{
return "NetClassEmp";
}
}
public class NetClass2 : NetClass
...{
static string s = "NetClass2-111111";
static string c = "NetClass2-222222";
public NetClass2()// : base("789")
...{
Console.WriteLine("NetClass2:NetClass2()");
}
public NetClass2(string sNo1)// : base(sNo1,"789")
...{
Console.WriteLine("NetClass2:NetClass2(sNo1)");
}
public NetClass2(string sNo1, string sNo2) : this()
...{
Console.WriteLine("NetClass2:NetClass2(sNo2)");
}
public string Ss
...{
get
...{
return s;
}
}
public string Cc
...{
get
...{
return c;
}
}
//public string C
//{
// get
// {
// return c;
// }
//}
public string Emp()
...{
return "NetClass2Emp";
}
}
public class MainClass
...{
public static void Main()
...{
NetClass2 nt = new NetClass2("asdf");
Console.WriteLine(nt.C);
Console.WriteLine(nt.Cc);
Console.WriteLine(nt.Emp());
Console.ReadKey();
}
}
}