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

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

    回到目录

  • 相关阅读:
    Android Handler主线程和一般线程通信的应用分析
    在java中string为什么要设计成final的
    Java中有几种创建对象的方式
    String和StringBuilder、StringBuffer的区别
    正确的二分查找实现
    SSH编写程序中文乱码解决
    lamda表达式
    kmp算法核心代码
    简洁清晰的quicksort核心代码
    [趣题]生成多个质数的幂积序列
  • 原文地址:https://www.cnblogs.com/lori/p/4790136.html
Copyright © 2011-2022 走看看