首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#步骤(2)例子

2013-01-08 
C#方法(2)例子1,静态方法和非静态方法的区别:例子1:(1)静态方法namespace 静态方法{class Program{public

C#方法(2)例子

1,静态方法和非静态方法的区别:

例子1:

(1)静态方法

namespace 静态方法{        class Program    {        public static int Add(int x, int y)             //声明一个静态方法        {            return x + y;        }        static void Main(string[] args)        {            Console.WriteLine("学敏,咱们的计算结果是:  " + Program.Add(2, 4));            //使用类名调用静态方法        }    }}

运行结果:

 C#步骤(2)例子

(2)非静态方法

 

namespace 非静态方法{    class Program    {        public int Add(int x, int y)              //声明一个非静态方法        {            return x + y;        }        static void Main(string[] args)        {            Program xuemin = new Program();                                //实例化类Program            Console.WriteLine("学敏,计算结果为 " + xuemin.Add(2, 4));        //使用实例化对象xuemin调用定义的非静态方法        }    }}


运行结果:

C#步骤(2)例子 

 

2,方法重载和方法重写的不同:

例子2:

(1)方法重载

namespace 方法重载{    class Program    {        public static int Add(int x, int y)      //定义静态方法Add,返回值为int类型,两个int类型参数        {            return x + y;        }        public double Add(int x, double  y)       //方法Add,两个参数,一个double类型,一个int类型        {            return x + y;        }        public int Add(int x, int y, int z)      //方法Add,三个参数,均为int类型        {            return x + y + z;        }        static void Main(string[] args)        {            Program xuemin = new Program();            int x=3;            int y1=4;            double y2 = 3.2;            int z=5;            Console.WriteLine("学敏,以下是计算结果,请注意查收!!"+"\n");            //根据传入的参数类型和个数的不同调用不同的Add重载方法            Console .WriteLine ("x"+"+"+"y1"+"="+Program .Add (x ,y1 ));            Console .WriteLine ("x"+"+"+"y2"+"="+xuemin .Add (x ,y2 ));            Console .WriteLine ("x"+"+"+"y1"+"+"+"z"+"="+xuemin .Add (x ,y1,z  ));        }    }}

运行结果:

 C#步骤(2)例子

(2)方法重写

 

见例子3就有方法重写

 

3,通过例子3能掌握:

1,抽象类不能直接实例化,抽象类如何实例化?—先实例化派生类,然后使用派生类对象实例化抽象类

2,抽象类和抽象类的使用:

 

例子3:声明一个抽象类myClass,该抽象类中声明了两个属性和一个方法,其中为两个属性提供了具体实现,方法为抽象方法。然后声明一个派生类DriveClass,继承自myClass,在DriveClass派生类中重写myClass中的抽象方法,并提供具体实现。最后在主程序类Program的Main方法中实例化DriveClass派生类的一个对象,使用该对象实例化抽象类,并使用抽象类对象访问抽象类中的属性和派生类中重写的方法。

namespace 抽象类和抽象方法的使用{    abstract class myClass                  //声明一个抽象类myClass    {        string id;        string name;        public string ID                         //编号属性ID        {            get            { return id; }            set            { id = value; }        }        public string Name                      //姓名属性Name        {            get            { return name; }            set            { name = value; }        }        public abstract void ShowInfo();         //声明一个抽象方法ShowInfo    }    class DriveClass : myClass                                     //声明一个派生类DriveClass,派生自类myClass    {        public override void ShowInfo()                //派生类DriveClass重写基类myClass中的抽象方法ShowInfo        {            Console.WriteLine(ID + " " + Name);        }    }        class Program    {        static void Main(string[] args)        {            DriveClass driveclass = new DriveClass();         //实例化派生类DriveClass            myClass xuemin = driveclass;                                  //使用派生类对象driveclass来实例化抽象类            xuemin.ID = "廊坊师范学院001号";            xuemin.Name = "韩学敏";            xuemin.ShowInfo();                                                            //抽象类对象调用派生类中的方法            Console.WriteLine("\n");        }    }}

运行结果:

 C#步骤(2)例子

4,密封类和密封方法的使用

例子4:

namespace 密封类和密封方法{    class myClass1                            //声明类myClass1    {        public virtual void ShowInfo()        //虚方法ShowInfo        {         }    }       sealed class myClass2:myClass1            //声明密封类myClass2,并且继承自myClass1   {       string id=" ";       string name=" ";       public string ID                         //编号属性ID       {          get           {  return id ;}           set            {id =value ;}        }       public string Name                      //姓名属性Name       {           get            { return name ;}           set            {name =value ;}       }      public sealed override void  ShowInfo()       //密封并重写基类myClass1中的ShowInfo方法      {            Console.WriteLine(ID + " " + Name);      }   }    class Program    {        static void Main(string[] args)        {            Console.WriteLine("学敏,调用ShowInfo方法后的结果: "+"\n");                       myClass2 xuemin = new myClass2();                //实例化密封类myClass2            xuemin .ID ="廊坊师范学院001号";            xuemin.Name ="韩学敏";            xuemin.ShowInfo();                               //调用密封类myClass2中的密封方法            myClass2 xueyang = new myClass2();            xueyang.ID = "廊坊师范学院002号";            xueyang.Name = "韩学杨";            xueyang.ShowInfo();                    }    }}

运行结果:

 C#步骤(2)例子

热点排行