“多态”一个需要注意的问题-阿里云开发者社区

开发者社区> wenvi_wu> 正文

“多态”一个需要注意的问题

简介:
+关注继续查看
在C#中只有属性和方法能被声明为virtual,而字段则不能。因此注意下面例子中的问题。
  public class Base
  {
    public int i = 10;

    public virtual void Test()
    {
      Console.WriteLine(i);
    }
  }

  public class Deliver : Base
  {
    public int i = 20;

    public override void Test()
    {
      Console.WriteLine(i);
    }
  }

  public class Class1
  {
    public static void Main(string[] args)
    {
      Deliver d = new Deliver();
      Base b = d;

      d.Test(); // 20
      b.Test(); // 20

      Console.WriteLine(b.i); // 10 问题就出在这,字段i并不支持多态。
    }
  }
 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
sql 嵌套while需要注意的问题
DECLARE @i INT ,@j INTSET @i=1set @j=1WHILE @i
508 0
指针和引用中一些要注意的问题
引用 引用为对象起了另外一个名字,引用类型引用另外一个类型。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名: int ival=1024; int &refval=ival;   //refval指向ival(是ival的另一个名字) int &refval2;     //报错:引用必须初始化   一般在初始化变量的时,初始值会被拷贝到新建的对象中。
509 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4485 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
10768 0
【巡检问题分析与最佳实践】RDS MySQL 活跃线程数高问题
活跃线程数或活跃连接数是衡量MySQL负载状态的关键指标,通常来说一个比较健康的实例活跃连接数应该低于10,对于一个高规格和高QPS的实例,一般活跃连接数可能也就20、30,如果出现几百、上千的活跃连接数,那说明肯定有SQL堆积和MySQL 响应变慢,严重时会引起实例雪崩,实例hang死,无法继续处理SQL请求。
470 0
【巡检问题分析与最佳实践】Redis内存高问题
作为内存型数据库,阿里云数据库Redis的内存使用率是一个非常重要的监控指标,当实例内存不足时会导致数据库响应缓慢,甚至导致写入错误等不利影响。
325 0
+关注
111
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载