zoukankan      html  css  js  c++  java
  • 基础才是重中之重~再说面向接口的编程

    回到目录

    之前在我的文章中有对接口进行过讲解,但感觉讲的还是不够清晰,不够利针见血,这次我把面向接口的编程里,自认为比较核心的两点说一下:

    接口详细介绍请看我的这篇文章

    基础才是重中之重~为什么C#有显示实现接口

    一切依赖于抽象,而不是实现

    多个接口相同的行为,被一个对象实现

    #region 多个接口相同的行为,被一个对象实现(一切依赖于抽象,而不是实现)
        interface IRepository
        {
            void Insert();
        }
    
        interface IRepositoryAsync
        {
            void Insert();
        }
    
        class Repository : IRepository
        {
    
            #region IRepository 成员
    
            public void Insert()
            {
                Console.WriteLine("同步添加");
            }
    
            #endregion
        }
        class RepositoryAsync : IRepository, IRepositoryAsync
        {
    
    
            #region ICowBoy 成员
    
            void IRepository.Insert()
            {
                Console.WriteLine("同步添加");
            }
    
            #endregion
    
            #region IRepositoryAsync 成员
    
            void IRepositoryAsync.Insert()
            {
                Console.WriteLine("异步添加");
            }
    
            #endregion
        }
    
        #endregion

    接口实现的多态性

    一个接口,多种实现(多态)

        #region 一个接口,多种实现(多态)
        interface IHello
        {
            void Morning();
            void Noon();
            void Night();
        }
    
        class Chinese : IHello
        {
    
            #region IHello 成员
    
            public void Morning()
            {
                Console.WriteLine("早上好");
            }
    
            public void Noon()
            {
                Console.WriteLine("中午好");
            }
    
            public void Night()
            {
                Console.WriteLine("晚上好");
            }
    
            #endregion
        }
        class English : IHello
        {
            #region IHello 成员
    
            public void Morning()
            {
                Console.WriteLine("Good Morning");
            }
    
            public void Noon()
            {
                Console.WriteLine("Good Noon");
            }
    
            public void Night()
            {
                Console.WriteLine("Good Night");
            }
    
            #endregion
        }
    
        #endregion

    对于我们开发人员来说,有时,对一个知识的真正理解是需要一个过程,一个时间的,所以建议初学者,应届毕业生同学不用太着急,这个是需要一个过程的,呵呵!

    回到目录

  • 相关阅读:
    网友心得 说说.NET中的反射(转帖)
    javascript的函数(转)
    asp.net基于窗体的身份验证
    创建ASP.NET WEB自定义控件(转)
    .net调用Oracle存储过程
    写字间里程序员
    世界四大杀毒软件调侃
    技巧/诀窍:在ASP.NET中重写URL(转)
    VS2008中JavaScript编辑调试器的秘密
    如何用C#语言构造蜘蛛程序
  • 原文地址:https://www.cnblogs.com/lori/p/4790136.html
Copyright © 2011-2022 走看看