面向接口编程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
实例
8
实例
public class MyClass { private Checker checker; public void setChecker(Checker checker){ this.checker = checker; } public void login(User user){ if (checker.isValidUser(user)) { System.out.println("User is logged in."); }else{ System.out.println("User is not logged in."); } } }
4
接口的典型应用
• Java Message Service (JMS)
– 43个接口。 – 2个类。
• java.sql
– 22个接口。 – 7个类。
Java EE 6
5
什么时候使用接口?
• 构建软件框架。 • 分离功能定义和功能实现。 • 降低组件之间的耦合度。
6
如何使用接口?
接口的典型应用形式
11
如果不使用接口?
• • • • • 难以进行软件架构的设计。 对象之间紧密耦合。 软件可扩展性差。 开发人员之间难以合作。 随着开发深入,编程工作陷入泥沼。
12
– 接口是方法定义和常量值的集合。
• 设计层面:
– 接口是功能定义的集合。 – 接口是面向对象系统中最抽象的元素。 – 接口是设计软件、构建软件框架的基本要素。源自2软件的认知与实现
• 对软件的理解过程
抽象 具体
• 软件的实现过程
接口 类
3
为什么要使用接口?
• • • • 标识系统中的对象。 定义组件应实现的功能。 定义组件之间交互的规则。 接口的副产品——多态。
Program to an interface, not an implementation
面向接口编程
1.什么是接口? 2.为什么要使用接口? 3.什么时候使用接口? 4.如何使用接口? 5.如果不使用接口?
1
什么是接口?
• 面向接口编程是面向对象程序设计的核心。 面向接口编程是面向对象程序设计的核心。 • 实现层面:
9
实例
10
实例
public class CheckerImpl implements Checker { DataProvider dp = null; public void setDataProvider(DataProvider dp){ this.dp = dp; } public boolean isValidUser(User aUser) { boolean isValidUser = false; User user = (User) dp.getData("Some search criteria."); if (user.equals(aUser)){ isValidUser = true; } return true; } }
实例
8
实例
public class MyClass { private Checker checker; public void setChecker(Checker checker){ this.checker = checker; } public void login(User user){ if (checker.isValidUser(user)) { System.out.println("User is logged in."); }else{ System.out.println("User is not logged in."); } } }
4
接口的典型应用
• Java Message Service (JMS)
– 43个接口。 – 2个类。
• java.sql
– 22个接口。 – 7个类。
Java EE 6
5
什么时候使用接口?
• 构建软件框架。 • 分离功能定义和功能实现。 • 降低组件之间的耦合度。
6
如何使用接口?
接口的典型应用形式
11
如果不使用接口?
• • • • • 难以进行软件架构的设计。 对象之间紧密耦合。 软件可扩展性差。 开发人员之间难以合作。 随着开发深入,编程工作陷入泥沼。
12
– 接口是方法定义和常量值的集合。
• 设计层面:
– 接口是功能定义的集合。 – 接口是面向对象系统中最抽象的元素。 – 接口是设计软件、构建软件框架的基本要素。源自2软件的认知与实现
• 对软件的理解过程
抽象 具体
• 软件的实现过程
接口 类
3
为什么要使用接口?
• • • • 标识系统中的对象。 定义组件应实现的功能。 定义组件之间交互的规则。 接口的副产品——多态。
Program to an interface, not an implementation
面向接口编程
1.什么是接口? 2.为什么要使用接口? 3.什么时候使用接口? 4.如何使用接口? 5.如果不使用接口?
1
什么是接口?
• 面向接口编程是面向对象程序设计的核心。 面向接口编程是面向对象程序设计的核心。 • 实现层面:
9
实例
10
实例
public class CheckerImpl implements Checker { DataProvider dp = null; public void setDataProvider(DataProvider dp){ this.dp = dp; } public boolean isValidUser(User aUser) { boolean isValidUser = false; User user = (User) dp.getData("Some search criteria."); if (user.equals(aUser)){ isValidUser = true; } return true; } }