zoukankan      html  css  js  c++  java
  • C#中的virtual关键词的解释

    • 之前自己一直学的java,最近进新公司,要开始转c#.net了,学了一段时间发现其实c#和java有很多类似的地方,但是还是有很多不同的地方,比如c#这里的重写,需要加一些关键词,感觉没有java方便,也许也有他的方便之处吧,可能我刚学没有发现。
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Tested
    {
       public class TestSender
        {
            static void Main(string[] args)
            {
                A a1 = new B();
                A a2 = new C();
                a1.Send();
                a2.Send();
                Console.ReadKey(); // 为了防止程序执行完直接结束,需要加一个这种方法,这个方法作用其实是让你按任意键,java不需要,
            }
        }
        public class A
        {
            public virtual void Send() //  C#中要重写的方法 需要加virtual或者abstract关键词
            {
                Console.WriteLine("A");
            }
        }
        public class B : A
        {
            public override void Send()// 派生类中重写的方法需要加override关键词 
            {
                Console.WriteLine("B");
            }
        }
        public class C : A
        {
            public new void Send()   // 派生类中重写的方法可以使用new关键词 他的作用是隐藏该方法 
            {
                Console.WriteLine("C");
            }
        }
        /* 
            输出结果为:B
                      A
         */
       
    }
    
    
  • 相关阅读:
    Django的认证系统
    Django 中间件
    Django Form和ModelForm组件
    AJAX
    Django中ORM介绍和字段及字段参数
    Django ORM那些相关操作
    Python中应该使用%还是format来格式化字符串?
    Cookie、Session和自定义分页
    ORM版学员管理系统3
    ORM版学员管理系统2
  • 原文地址:https://www.cnblogs.com/narojay/p/10812571.html
Copyright © 2011-2022 走看看