直接看代码->
新建类test.Drive, 然后copy到Eclipse中执行
package test;
import java.util.Scanner;
//面向概念编程demo--a+b
/*=========================*\
step 1 : 提出概念 a + b
\*=========================*/
interface A_ADD_B_Concept {
/**
* a + b
* @return a+b的值
*/
int a_add_b();
}
/*==============================*\
step 2 构造实体 ---具体化概念
一般包含两个实体:视图和模型
2.1, 模型实体
2.2, 视图实体, 依赖于模型实体
\*==============================*/
class A_ADD_B_View implements A_ADD_B_Concept {
A_ADD_B_Model model; //视图依赖于模型
A_ADD_B_View(A_ADD_B_Model model) {
this.model = model;
}
public void readA(int a) {
int num = Util.readInt("a = ");
model.setA(num);
a_add_b();
}
public void readB(int b) {
int num = Util.readInt("b = ");
model.setB(num);
a_add_b();
}
/**
* 视图的计算, 依赖于模型的计算
*/
public int a_add_b() {
int result = model.a_add_b();
System.out.println("a + b = " + model.getA() + " + " + model.getB() + " = " + result);
return result;
}
}
class A_ADD_B_Model implements A_ADD_B_Concept {
int a;
int b;
public int getA() {
return a;
}
public int getB() {
return b;
}
public void setA(int a) {
this.a = a;
}
public void setB(int b) {
this.b = b;
}
public int a_add_b() {
return a + b;
}
}
/*=========================================*\
step 3 安装驱动 ---驱动实体在计算机上运行
把实体组织起来执行
\*=========================================*/
public class Drive {
A_ADD_B_Model model = new A_ADD_B_Model();
A_ADD_B_View view = new A_ADD_B_View(model);
public void drive() {
for (int i=0; i<10; i++) {
System.out.println("=============================");
view.readA(0);
System.out.println("=============================");
view.readB(0);
}
}
public static void main(String[] args) {
Drive drive = new Drive();
drive.drive();
}
}
//工具类
class Util {
public static int readInt(String msg) {
System.out.print(msg);
int result = -1;
Scanner scanner = new Scanner(System.in);
result = scanner.nextInt();
return result;
}
}
分享到:
相关推荐
面向切面编程(AOP)是一种程序设计范式,它旨在增强软件开发的模块化,通过将关注点分离,使得代码更加整洁、可维护。AspectJ是Java平台上的一个开源框架,它为Java应用程序提供了全面的面向切面编程支持。在...
面向切面编程(AOP)是一种编程范式,它旨在将关注点分离,使得系统中的核心业务逻辑与系统服务(如日志、事务管理、权限控制等)可以解耦...实践AOP需要对面向切面编程的概念有清晰的理解,同时熟悉所选库的使用方式。
8. **编程语言特性**:源码使用的编程语言(如Java、Python、C++等)的特性和最佳实践,如面向对象编程、函数式编程、模块化等。 9. **代码复用和重构**:如果"re"代表重构,那么源码可能包含了代码优化和复用的...
2. **MFC(Microsoft Foundation Classes)**:在Windows平台上,常用MFC库来开发对话框,它是C++对Windows API的一种封装,提供面向对象的编程接口。 3. **资源文件(.rc)**:对话框的设计通常在资源文件中定义,...
【标题】"商业编程-源码-对话框源代码 animate_dlg_demo.zip" 提供的是一份关于对话框编程的示例源代码,主要用于展示如何在应用程序中实现动态动画效果的对话框。对话框在软件开发中是常见的一种用户交互界面,它...
【标题】"java-Demo-100(1).zip_DEMO_java 编程练习" 涵盖了Java编程语言的学习与实践方面的重要知识点,是针对初学者和有一定基础的开发者提升技能的一个资源包。这个压缩文件包含了100个编程示例,旨在帮助学习者...
面向接口编程是软件设计中的一个重要概念,尤其是在Java和Android开发中。它是一种编程范式,强调程序应通过其公开的接口与其消费者进行交互,而不是直接依赖于其实现细节。这样的设计提高了代码的可扩展性、可维护...
1. 作者孙卫琴将复杂的概念通过通俗易懂的语言进行表达,这说明书籍采用了易于新手理解的方式来介绍概念,有助于初学者快速入门和理解面向对象编程。 2. 书中内容经过作者的深刻思考,这意味着书中不仅有浅显易懂的...
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起。Java是一种广泛使用的、支持面向对象编程的编程语言,它提供了丰富的特性来实现...
面向接口编程是一种软件设计策略,它强调程序组件之间的交互应基于接口而非具体实现。在C#、ASP.NET和Visual Studio的开发环境中,这种编程范式是构建可扩展、灵活和可维护的应用程序的关键。以下是对这个主题的详细...
《Code-Demo-java-书籍源代码.rar》是一个包含Java编程示例代码的压缩包,它很可能是为了辅助学习和理解Java编程语言而提供的资源。这个压缩包中的"Code-Demo-java"目录很可能包含了多个子目录和Java源代码文件(....
本教程将通过分析 "Spring-Demo-2.zip" 压缩包中的示例,深入讲解 Spring AOP 的核心概念和实际应用。 首先,让我们了解一下什么是 AOP。AOP,即面向切面编程,是一种编程范式,它将关注点分离,使得系统中的横切...
在这个"网络编程(socket、NIO、mina)---demo"的主题中,我们将深入探讨三个关键概念:Socket编程、非阻塞I/O(Non-blocking I/O,简称NIO)以及Apache Mina框架。这些技术广泛应用于构建高性能、高并发的网络应用...
本文将围绕"Open103V-Demo-HAL"项目,深入解析STM32 HAL库的核心概念和实际应用。 首先,我们需要了解HAL库的基本结构。HAL库提供了一套面向对象的API(应用程序接口),覆盖了STM32的所有外设,包括GPIO、定时器、...
Spring是一个全面的Java企业级应用开发框架,它提供了依赖注入(DI)、面向切面编程(AOP)以及众多其他功能。Quartz则是一个开源的作业调度框架,它支持按计划执行任务,包括简单的定时器任务到复杂的调度逻辑。 ...
1. **Spring AOP(面向切面编程)**: - **AOP概念**:AOP是Spring框架的核心特性之一,它允许程序员定义“切面”,这些切面可以包含业务逻辑的某一部分,如日志、事务管理等。切面可以在程序运行时“织入”到其他...
2. **C++编程**:掌握C++基本语法,理解面向对象编程概念,如类、对象、继承、多态等,以便使用提供的接口进行开发。 3. **网络编程**:UDS通常是通过CAN总线或其他物理层实现的,因此需要了解TCP/IP或串行通信的...
Flutter的核心特点是其使用Dart语言进行编程,Dart是一种强类型、面向对象的语言,设计简洁且易于学习。Flutter框架采用单体Widget树的概念,每个Widget都是UI的一部分,通过组合这些小部件,可以构建出复杂的用户...
Java多态是面向对象编程中的一个核心概念,它允许我们以一种统一的方式处理不同类型的对象。在Java中,多态性主要体现在方法的重写(Override)和重载(Overload)。通过多态,我们可以编写出更加灵活、可扩展的代码...
在这个"javase基础编程demo"中,我们将会探讨几个关键的Java编程概念和技术。 首先,让我们聚焦于"Java常用类"这一标签。Java标准库提供了一系列内置类,它们在日常编程中非常常见且实用。例如,`String`类用于处理...