C# 静态(Static )方法 、重写(override)方法、虚方法(virtual)详解

C#常用方法详细讲解一

静态方法

     * 静态方法:
     *       特点: 1、生命周期一旦创建 --应用程序结束才会结束  2、全局  3、效率高
     *       用处:如用户登入信息、系统配置信息、系统设置、SQLHelper
     *       注意:静态的东西创建多了,占用内存会很大,不是必要的情况不要创建静态对象
     *       *调用:静态方法调用非静态方法,把所在类初始化后再调用*
     *

转载请标明出处:Python Excellent的博客

class Test
{
	//控制台测试输出
	static void Main(string[] args)
	{
	    //1--静态方法
	    TestStaticMethod testStaticMethod = new TestStaticMethod();
	    Console.WriteLine(testStaticMethod.Test1()); //在静态方法中不能直接调用非静态方法 
	    Console.WriteLine(Test2());  //静态方法可直接调用  
	} 
	
	#region   静态方法测试
	/// <summary>
	/// 静态方法测试
	/// </summary>
	class TestStaticMethod //新建一个测试静态方法的类,在类里面声明一个非静态方法
	{
	    public string Test1()
	    {
	        return "非静态方法\n";
	    }
	}
	public static string Test2()
	{
	    return "我是静态方法\n";
	}
	#endregion
}

构造方法

     * 构造方法:
     *       用处:1、初始化对象,2、或者初始化一些数据
     *       特点:默认是有一个无参构造方法 ,也可以多个重载
     * 
class Test
{
	//控制台测试输出
	static void Main(string[] args)
	{
	     //2--构造方法
         CtorMethod ctorMethod = new CtorMethod(); //实例化这个类时,会默认输出测试构造方法文本
	} 
	
	/// <summary>
	/// 构造方法测试
	/// </summary>
	class CtorMethod
	{
	    /// <summary>
	    /// 实例化这个类时,会默认进入该CtorMethod()方法
	    /// </summary>
	    public CtorMethod()
	    {
	        TestCtorMethod();
	    }
	    public void TestCtorMethod()
	    {
	        Console.WriteLine("我在测试构造方法\n");
	    }
	
	}
	#endregion
}

虚方法

     * 虚方法:
     *		 作用:允许子类和派生类,进行重写 同样代码实现不同功能
     *       特点:原生方法数量少,好维护
class Test
{
	//控制台测试输出
	static void Main(string[] args)
	{
	     VirtualMethod virtualMethod = new VirtualMethod();
         Console.WriteLine($"虚方法输出:2 * 9 = {virtualMethod.Calculate(2, 9)}"+"\n"); 
	} 
	
	 #region 虚方法测试
        public class VirtualMethod
        {
            //不加virtual 则这个计算方法只能计算两个数相乘
            public virtual int Calculate(int a,int b)
            {
                //乘法
                return a*b;
            }

        }
        class virtualMethodChild : VirtualMethod
        {
            //重写一个子类,继承父类VirtualMethod 
            public override int Calculate(int a, int b)
            {
                //调用基类的方法
                //return base.Calculate(a, b);
                //加法
                return a + b;
            }

        }
        #endregion
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python Excellent

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值