基础才是重中之重~再说面向接口的编程

回到目录

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

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

基础才是重中之重~为什么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

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

回到目录

posted @ 2015-09-07 22:22  张占岭  阅读(595)  评论(4编辑  收藏  举报