zoukankan      html  css  js  c++  java
  • 为什么abstract类需要实现接口成员

    看这样一段代码:
        public interface ICreateTime
        {
            DateTime CreateTime
            {
                
    get;
                
    set;
            }
        }

        
    public abstract class EntityBase : ICreateTime
        {
            
    public EntityBase()
            {
                CreateTime 
    = DateTime.Now;
            }
        }

    感觉起来是不是很直观呢?
    但是不行,编译不能通过: 'EntityBase' does not implement interface member 'ICreateTime.CreateTime'. 这不废话嘛,我当然知道它没有实现,不然我干吗把它标记为abstract呢? 我不是想把它留到子类实现吗?

    郁闷了很久之后,终于想明白了,原因就是C#中实现接口重写基类方法的差异.再往深一点想就是C#编译器太懒,如果像Java那样自动分辨哪些方法是虚拟的,哪些不是的多方便..
  • 相关阅读:
    学习进度条08
    学习进度条07
    子数组和最大值(二维)
    学习进度条06
    构建之法阅读笔记04
    四则运算网页版
    泛型代码中的默认关键字
    js 日期大小比较
    c#Reverse字符串
    c#获取数组中指定元素的索引
  • 原文地址:https://www.cnblogs.com/deerchao/p/891927.html
Copyright © 2011-2022 走看看