基础才是重中之重~再说面向接口的编程
之前在我的文章中有对接口进行过讲解,但感觉讲的还是不够清晰,不够利针见血,这次我把面向接口的编程里,自认为比较核心的两点说一下:
接口详细介绍请看我的这篇文章
一切依赖于抽象,而不是实现
多个接口相同的行为,被一个对象实现
#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
对于我们开发人员来说,有时,对一个知识的真正理解是需要一个过程,一个时间的,所以建议初学者,应届毕业生同学不用太着急,这个是需要一个过程的,呵呵!