C#小白学习笔记(15)类成员之方法

    class Program
    {
        static void Main(string[] args)
        {
            Math math = new Math();
            double i = math.Add();//实例方法需要通过实例访问
            Console.WriteLine(i);
            double j = Math.Mul();//静态方法直接用类名访问
            Console.WriteLine(j);

            math.And();//方法的重载
            Console.WriteLine(math.And(3));
            math.And("a", 3);

            BaseClass bc = new BaseClass();
            bc.OutPut();
            ChildClass cc = new ChildClass();
            cc.OutPut();//方法的重写

            BClass bClass = new BClass();
            bClass.OutPut2();
            Console.ReadKey();
        }
    }

    /// <summary>
    /// 数学类
    /// </summary>
    class Math
    {
        public double Add()//实例方法
        {
            double x = 1.2;
            double y = 1.3;
            return x + y;
        }
        static public double Mul()//静态方法
        {
            double x = 1.5;
            double y = 1.5;
            return x * y;
        }

        /// <summary>
        ///方法的重载
        /// </summary>
        public void And()
        {
            Console.WriteLine("没有返回值");
        }
        public int And(int x)
        {
            return x * 2;
        }
        public void And(string x, int y)
        {
            Console.WriteLine("没有返回值");
        }
    }

    /// <summary>
    ///基类or父类(方法的重写)
    /// </summary>
    class BaseClass
    {
        public virtual void OutPut()//实例方法,virtual表示方法可以被重写
        {
            Console.WriteLine("这是基类中的方法");
        }
    }

    abstract class AbstractClass//抽象类只能被继承不能被实例化
    {
        public void OutPut1()
        {
            Console.WriteLine("这是抽象类中非抽象的方法");
        }
        public abstract void OutPut2();//抽象的方法(没有代码体)
    }

    /// <summary>
    ///派生类or子类
    /// </summary>
    class ChildClass : BaseClass
    {
        public override void OutPut()
        {
            //base.OutPut();//调用被重写方法中的代码
            Console.WriteLine("这里是在派生类中重写的方法");
        }
    }
    class BClass : AbstractClass//如果派生类继承了抽象的基类,必须重写抽象基类中所有抽象的方法
    {
        public override void OutPut2()
        {
            Console.WriteLine("这里是在派生类中重写的抽象的方法");
        }
    }

运行结果:

 

posted @ 2020-09-24 10:59  ___lucky  阅读(128)  评论(0)    收藏  举报