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

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

    回到目录

  • 相关阅读:
    pytest框架运用
    unitTest学习
    发送邮件
    python 连接远程服务器,修改时间
    Redis基础
    django 知识点扩展
    ACM 题目 1487: [蓝桥杯][算法提高VIP]不同单词个数统计
    Leetcode 面试题 08.01. 三步问题
    Leetocode 198. 打家劫舍
    Leetcode 121. 买卖股票的最佳时机
  • 原文地址:https://www.cnblogs.com/lori/p/4790136.html
Copyright © 2011-2022 走看看