`
suifeng
  • 浏览: 181610 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

面向概念编程---DEMO

阅读更多

直接看代码->

新建类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;
	}
}
 
0
0
分享到:
评论
1 楼 lliiqiang 2013-12-19  
一个软件最好包含所有的信息,这样可以使用相对路径,然而不管在哪都能使用自己的资源.不可避免问题要尽量减小问题而不是走极端.

相关推荐

    面向切面编程--AspectJDemo

    面向切面编程(AOP)是一种程序设计范式,它旨在增强软件开发的模块化,通过将关注点分离,使得代码更加整洁、可维护。AspectJ是Java平台上的一个开源框架,它为Java应用程序提供了全面的面向切面编程支持。在...

    aop 面向切面编程 demo

    面向切面编程(AOP)是一种编程范式,它旨在将关注点分离,使得系统中的核心业务逻辑与系统服务(如日志、事务管理、权限控制等)可以解耦...实践AOP需要对面向切面编程的概念有清晰的理解,同时熟悉所选库的使用方式。

    商业编程-源码-其它源代码 registry_koening_demo.zip

    8. **编程语言特性**:源码使用的编程语言(如Java、Python、C++等)的特性和最佳实践,如面向对象编程、函数式编程、模块化等。 9. **代码复用和重构**:如果"re"代表重构,那么源码可能包含了代码优化和复用的...

    商业编程-源码-对话框源代码 BmpDlg_Demo.zip

    2. **MFC(Microsoft Foundation Classes)**:在Windows平台上,常用MFC库来开发对话框,它是C++对Windows API的一种封装,提供面向对象的编程接口。 3. **资源文件(.rc)**:对话框的设计通常在资源文件中定义,...

    商业编程-源码-对话框源代码 animate_dlg_demo.zip

    【标题】"商业编程-源码-对话框源代码 animate_dlg_demo.zip" 提供的是一份关于对话框编程的示例源代码,主要用于展示如何在应用程序中实现动态动画效果的对话框。对话框在软件开发中是常见的一种用户交互界面,它...

    java-Demo-100(1).zip_DEMO_java 编程练习

    【标题】"java-Demo-100(1).zip_DEMO_java 编程练习" 涵盖了Java编程语言的学习与实践方面的重要知识点,是针对初学者和有一定基础的开发者提升技能的一个资源包。这个压缩文件包含了100个编程示例,旨在帮助学习者...

    面向接口编程理解demo

    面向接口编程是软件设计中的一个重要概念,尤其是在Java和Android开发中。它是一种编程范式,强调程序应通过其公开的接口与其消费者进行交互,而不是直接依赖于其实现细节。这样的设计提高了代码的可扩展性、可维护...

    JAVA面向对象编程(孙卫琴)01

    1. 作者孙卫琴将复杂的概念通过通俗易懂的语言进行表达,这说明书籍采用了易于新手理解的方式来介绍概念,有助于初学者快速入门和理解面向对象编程。 2. 书中内容经过作者的深刻思考,这意味着书中不仅有浅显易懂的...

    使用Java实现面向对象编程

    面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,将数据和操作数据的方法封装在一起。Java是一种广泛使用的、支持面向对象编程的编程语言,它提供了丰富的特性来实现...

    面向接口编程 (C#)

    面向接口编程是一种软件设计策略,它强调程序组件之间的交互应基于接口而非具体实现。在C#、ASP.NET和Visual Studio的开发环境中,这种编程范式是构建可扩展、灵活和可维护的应用程序的关键。以下是对这个主题的详细...

    Code-Demo-java-书籍源代码.rar

    《Code-Demo-java-书籍源代码.rar》是一个包含Java编程示例代码的压缩包,它很可能是为了辅助学习和理解Java编程语言而提供的资源。这个压缩包中的"Code-Demo-java"目录很可能包含了多个子目录和Java源代码文件(....

    Spring-Demo-2.zip

    本教程将通过分析 "Spring-Demo-2.zip" 压缩包中的示例,深入讲解 Spring AOP 的核心概念和实际应用。 首先,让我们了解一下什么是 AOP。AOP,即面向切面编程,是一种编程范式,它将关注点分离,使得系统中的横切...

    网络编程(socket、NIO、mina)---demo

    在这个"网络编程(socket、NIO、mina)---demo"的主题中,我们将深入探讨三个关键概念:Socket编程、非阻塞I/O(Non-blocking I/O,简称NIO)以及Apache Mina框架。这些技术广泛应用于构建高性能、高并发的网络应用...

    Open103V-Demo-HAL

    本文将围绕"Open103V-Demo-HAL"项目,深入解析STM32 HAL库的核心概念和实际应用。 首先,我们需要了解HAL库的基本结构。HAL库提供了一套面向对象的API(应用程序接口),覆盖了STM32的所有外设,包括GPIO、定时器、...

    spring整合quartz动态定时任务demo-spring-quartz-demo.zip

    Spring是一个全面的Java企业级应用开发框架,它提供了依赖注入(DI)、面向切面编程(AOP)以及众多其他功能。Quartz则是一个开源的作业调度框架,它支持按计划执行任务,包括简单的定时器任务到复杂的调度逻辑。 ...

    SSM整合-用springaop-demo01实现了注解AOP,SSM-MybatisOneForOne-demo01实现了

    1. **Spring AOP(面向切面编程)**: - **AOP概念**:AOP是Spring框架的核心特性之一,它允许程序员定义“切面”,这些切面可以包含业务逻辑的某一部分,如日志、事务管理等。切面可以在程序运行时“织入”到其他...

    c++-uds-demo-vs2013

    2. **C++编程**:掌握C++基本语法,理解面向对象编程概念,如类、对象、继承、多态等,以便使用提供的接口进行开发。 3. **网络编程**:UDS通常是通过CAN总线或其他物理层实现的,因此需要了解TCP/IP或串行通信的...

    flutter-f7-demo-master.zip

    Flutter的核心特点是其使用Dart语言进行编程,Dart是一种强类型、面向对象的语言,设计简洁且易于学习。Flutter框架采用单体Widget树的概念,每个Widget都是UI的一部分,通过组合这些小部件,可以构建出复杂的用户...

    Java多态,面向对象编程题demo.zip

    Java多态是面向对象编程中的一个核心概念,它允许我们以一种统一的方式处理不同类型的对象。在Java中,多态性主要体现在方法的重写(Override)和重载(Overload)。通过多态,我们可以编写出更加灵活、可扩展的代码...

    javase基础编程demo

    在这个"javase基础编程demo"中,我们将会探讨几个关键的Java编程概念和技术。 首先,让我们聚焦于"Java常用类"这一标签。Java标准库提供了一系列内置类,它们在日常编程中非常常见且实用。例如,`String`类用于处理...

Global site tag (gtag.js) - Google Analytics