zoukankan      html  css  js  c++  java
  • C#中关于new的用法

    笔者知道是new可以当做运算符和修饰符,在3个场合用过,希望各位园友不仅要看,更希望大家多多补充。

      1、运算符就是在实例化一个类的时候(运算符用法)

          例如有一个类A:

                             A a=new A();

         2、new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。当泛型类创建类型的新实例时,将此约束应用于类型参数。

    public class Example<T> where T : System.Data.Objects.ObjectContext

        {
        }
      3、就是在子类中隐藏基类的成员(包括数据成员和成员函数),可以省略,一般还是写上比较好这样让人更容易理解;对基类的成员访问可以用base.来访问(这个是在anytao的博客上面看到的)

    public class Number
        {
    public static int i =123;

           
    publicvoid ShowInfo()
            {
                Console.WriteLine(
    "base class---");
            }

           
    publicvirtualvoid ShowNumber()
            {
                Console.WriteLine(i.ToString());
            }
        }

       public
    class IntNumber : Number
        {
           
    new public staticint i =456;

           
    public new  virtual void ShowInfo() //这儿和public void ShowInfo()是一样的结果
            {
                Console.WriteLine(
    "Derived class---");
            }

           
    publicoverridevoid ShowNumber()
            {
                Console.WriteLine(
    "Base number is {0}", Number.i.ToString());
                Console.WriteLine(
    "New number is {0}", i.ToString());           
            }
        }

       
    class Tester
        {
           
    publicstaticvoid Main(string[] args)
            {
                Number num
    =new Number();
                num.ShowNumber();
                IntNumber intNum
    =new IntNumber();
                intNum.ShowNumber();

                Number number
    =new IntNumber();
                //究竟调用了谁?
                number.ShowInfo();
                //究竟调用了谁?
                number.ShowNumber();
            }
        }
      

      

                希望大家多多的补充。

          

      

    ※如果你觉得这篇文章不错,请点击推荐。如果你觉得我写的对你有用请关注我。
    作者:Max蚊子
    网站:feiger.cn         飞鸽博客,关注互联网、站长圈的程序员博客!
                 
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    将python 中的变量保存到本地
    Docker 安装
    docker 守护进程
    迁移及配置 Windows 7 的用户账号 UserProfile 默认目录位置
    Bitwise Operation位操作(逻辑运算)
    博客园客服端上传文章测试
    vnc连接远端linux服务器
    linux7.5服务器 安装oracle12c
    linux服务器 jboss-7安装
    day11__函数名的应用,python新特f-strings格式化输出、迭代器
  • 原文地址:https://www.cnblogs.com/kim01/p/2594189.html
Copyright © 2011-2022 走看看