zoukankan      html  css  js  c++  java
  • 胡谈...

    看了Allen Lee,基类与接口混合继承的声明问题,发表一下个人看法。
    先运行如下代码:

    namespace Test
    {
        
    using System ;

        
    interface 接口
        
    {
              
    void 方法();
        }


        
    class 基类:接口
        
    {
             
    public void 方法() 
            
    {
                Console.WriteLine(
    "这是基类的方法哦!");
            }


            
    void 接口.方法()
            
    {
                Console.WriteLine(
    "我是接口专门的实现方法哦,你不要逃避嘛。");
            }

        }


        
    class 没有接口的继承:基类
        
    {
            
    /// <summary>
            
    /// 这里只有通过new才能够用新的方法来覆盖
            
    /// </summary>

            public new void 方法()
            
    {
                Console.WriteLine(
    "我只能够使用 new 来屏蔽它,不过,在IDesign的编程规范中,不推荐用 new。");
            }

        }


        
    class  有接口的继承: 基类, 接口
        
    {
             
    void 接口.方法() 
            
    {
                Console.WriteLine(
    "这就叫做接口的重映射,这只是技巧性的东西而已。");
            }
     
        }


        
    class TestClass
        
    {
            [STAThread]
            
    static void Main(string[] args)
            
    {
                基类 c1 
    = new 基类();
                c1.方法();

                接口 i1 
    = new 基类();
                i1.方法();

                Console.WriteLine();

                没有接口的继承 c2 
    = new 没有接口的继承();
                c2.方法();

                接口 i2 
    = new 没有接口的继承();
                i2.方法();

                Console.WriteLine();

                有接口的继承 c3 
    = new 有接口的继承();
                c3.方法();

                接口 i3 
    = new 有接口的继承();
                i3.方法();

                Console.Read();
            }

        }

    }


    运行结果如下:
    这是基类的方法哦
    我是接口专门的实现方法哦,你不要逃避嘛。

    我只能够使用 new 来屏蔽它,不过,在IDesign的编程规范中,不推荐用 new。
    我是接口专门的实现方法哦,你不要逃避嘛。

    这是基类的方法哦
    这就叫做接口的重映射,这只是技巧性的东西而已。
  • 相关阅读:
    Ionic开发Hybrid App问题总结
    >>> 主页链接
    微信小程序之WebSocket
    Keepalived+LVS+nginx搭建nginx高可用集群
    centos7 dns(bind)安装配置
    samba安装配置
    redis数据备份还原
    gitlab部署
    gitlab数据迁移
    kubeadm部署一个Kubernetes集群
  • 原文地址:https://www.cnblogs.com/William_Fire/p/65263.html
Copyright © 2011-2022 走看看