构造函数学习


1
/* 2 * Created by SharpDevelop. 3 * User: My little flower basket 4 * Date: 2013/7/11 5 * Time: 9:38 6 * 7 * 构造函数特性 8 * 不要构建两个相互调用的构造函数,这是错误的 9 */ 10 using System; 11 12 namespace oop 13 { 14 public class MyBaseClass 15 { 16 public MyBaseClass() 17 { 18 Console.WriteLine("我是MyBaseClass 1"); 19 } 20 21 public MyBaseClass(int i ) 22 { 23 Console.WriteLine("我是MyBaseClass 2"); 24 Console.WriteLine("我是MyBaseClass 2 我的值是:"+i); 25 } 26 } 27 28 29 public class MyDerivedClass : MyBaseClass//基类的可访问权限应该比子类要高 30 { 31 public MyDerivedClass() : this(5,6)//在使用指定的构造函数之前 先使用this 32 { 33 Console.WriteLine("MyDerivedClass 1"); 34 } 35 36 public MyDerivedClass(int i) 37 { 38 Console.WriteLine("MyDerivedClass 2"); 39 } 40 41 public MyDerivedClass(int i , int j):base(i)//这个i就是参数i的值 42 { 43 Console.WriteLine("MyDerivedClass 3 我是"+ i); 44 Console.WriteLine("MyDerivedClass 3 我是" + j); 45 Console.WriteLine("MyDerivedClass 3"); 46 47 } 48 } 49 50 51 class Program 52 { 53 public static void Main(string[] args) 54 { 55 56 // MyDerivedClass myObj = new MyDerivedClass();//object ()-->MyBaseClass-->MyDerivedClass 构造函数 57 58 // MyDerivedClass myObj = new MyDerivedClass(4);//object()-->MyBaseClass-->MyDerivedClass(int i) 构造函数 59 60 // MyDerivedClass myObj = new MyDerivedClass(4);// object()-->MyBaseClass-->MyDerivedClass(int i , int j) 构造函数 61 // MyDerivedClass myObj = new MyDerivedClass(5,5);//object()-->MyBaseClass(int i)-->MyDerivedClass(int i , int j) 构造函数 62 MyDerivedClass myObj = new MyDerivedClass(); //添加this执行该代码 object()-->MybaseClass()-->MyDerivedClass(int i ,int j)-->MybaseClass() 构造函数 63 64 65 Console.Write("Press any key to continue . . . "); 66 Console.ReadKey(true); 67 } 68 } 69 }

 

posted @ 2013-07-11 10:20  我的小花篮  阅读(255)  评论(0编辑  收藏  举报