`

重温设计模式一:类关系

阅读更多

        重拾UML,新名词层出不穷的时代。UML似乎被遗忘。在软件设计时,uml类图一直占据着不可小觑的位置。下图摘录自《大话设计模式》。

类主要包含六种关系:继承、实现、依赖、组合、聚合、关联。这六种关系在java代码具体的表现如下。

继承:

/**
*A 继承 B
*/
public class A extends B{
      public static void main(String []args){
         System.out.println("A继承B,继承关系")
      }
}

 

/**
*A 实现 B
*/
public class A implements B{  }

 

/**
*抽象类A依赖类B
*/
abstract  class A{
     public void  dependence(B b){
     
     }
}

  

/**
*A类由B类组成
*/
public class A{
     private B b;
     public A(){
        b = new B();
     }
}

 

/**
*A 由B 聚合
*/
public  class A{
	private  List<B>  b  = new ArrayList<B>();

	public void addB(B b){
		this.b.add(b);
	}
}

 

/**
*A 关联 B
*/

public class  A{
     private   B b ;
}

 

 以上是类之间的关系,作为设计模式的入门基础,以java形式表现出来。关注 @陈华blogsit

 


 

  • 大小: 82.9 KB
分享到:
评论

相关推荐

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    1.4.1 类(Class):Java世界中一类物体 14 1.4.2 方法(Method):物体的功能 15 1.4.3 main()方法:所有Java程序执行的起点 15 .1.5 名词解释 16 1.5.1 JDK和Java平台 16 1.5.2 Java编译器(Java Compiler)...

    数据库课程设计报告某医院病房计算机系统.doc

    2. 关系模式设计: - 病房:包含病房号、床位号和科室名。 - 科室:包含科室名、科地址和科电话。 - 病人:包括病历号、姓名、性别、主管医生和病房号。 - 医生:涵盖工作证号、姓名、职称、科室名和年龄。 - ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    1.4.1 类(Class):Java世界中一类物体 14 1.4.2 方法(Method):物体的功能 15 1.4.3 main()方法:所有Java程序执行的起点 15 .1.5 名词解释 16 1.5.1 JDK和Java平台 16 1.5.2 Java编译器(Java Compiler)...

    java编程思想习题及答案

    10. **设计模式**:习题可能涉及到一些常见的设计模式,如单例、工厂、观察者、装饰器等,设计模式是解决常见编程问题的通用解决方案。 通过解答这些习题,学习者不仅能巩固Java语言的基础,还能提高解决实际问题的...

    visual foxpro

    总结来说,Visual FoxPro是一款具有历史地位的数据库软件,尽管已被更新的技术取代,但它的设计理念和编程模式对现代数据库系统仍有启示作用。对于初次接触数据库管理和编程的用户,Visual FoxPro仍是一个值得学习的...

    thinkphp 最新下载

    1. MVC模式:MVC(Model-View-Controller)设计模式是Web开发中的常见架构,ThinkPHP v2.0将其引入,将业务逻辑、数据和用户界面分离,提高了代码的可维护性和可扩展性。 2. 模板引擎:该版本提供了强大的模板引擎...

    struts2.1包

    Struts2.1是一款基于MVC(Model-View-Controller)设计模式的开源Java Web框架,由Apache软件基金会维护。这个“struts2.1包”是该框架的一个旧版本,可能包含了Struts2的核心库和其他相关的依赖库,用于支持开发...

    JavaStuff:只是一个试图学习用Java编码的老人

    JavaStuff 是一个专门为初学者和有一定经验的程序员提供的学习资源,...此外,随着学习的深入,你还可以探索更多高级主题,如设计模式、并发编程的最佳实践,以及最新的Java版本(如Java 11、17)带来的新特性和改进。

    软件设计实践.doc

    总的来说,这个贪吃蛇游戏软件设计实践项目是一个集趣味性、教育性和技术性于一体的学习案例,它不仅可以让玩家重温经典游戏的乐趣,也为初学者提供了学习游戏编程的实践平台。通过该项目,开发者可以深入了解游戏...

    java培训实习总结.doc

    在实习期间,学员们重温了Java的基础语法、类和对象的概念,以及异常处理等关键知识。 2. **JavaWeb开发**:JavaWeb技术包括Servlet和JSP,它们是构建动态Web应用的重要工具。Servlet是一个Java类,用于扩展服务器...

    php+mysql论坛

    3. 论坛架构:一个基本的论坛通常包括以下部分: - 用户模块:用户注册、登录、个人信息管理。 - 发帖模块:用户发布新主题,包括标题、内容等。 - 回复模块:用户对已有主题进行回复,支持编辑、删除自己的回复...

    基于SQL数据库教学网站设计与实现.pdf

    而SQL Server 2005是一个功能强大的关系型数据库管理系统,它能够有效地处理大量数据和事务,为网络教学平台提供稳定的数据库支持。 在进行系统设计时,采用了统一建模语言UML进行建模设计,用例图(Use Case ...

    闲约小程序电话营销培训PPT学习教案.pptx

    二通电话的主要目的是深化关系,重温初次通话中提到的兴趣点和需求,提供更新信息,如新版本的服务功能,以进一步满足客户需求并深缔结。 总的来说,电话营销是通过精心设计的对话流程,逐步引导客户从认识产品到...

    jfinal3.2 demo maven idea

    1. **JFinal框架基础**:学习如何定义Controller、Model和Service,理解JFinal的 MVC(Model-View-Controller)设计模式,以及其对数据库操作的支持。 2. **Maven项目结构**:了解Maven的目录结构,如src/main/java...

    2010年程序员考试

    6. **软件工程**:需求分析、软件设计模式、项目管理、版本控制(如SVN或Git)等软件开发过程中的关键概念。 7. **数据结构和算法的复杂度分析**:了解时间复杂度和空间复杂度,能对算法进行效率评估。 8. **软件...

    川大数据库系统(SSD6)历年考题、quiz、复习大纲、课件

    对于每个部分,如SQL查询、关系代数、事务处理、数据库设计等,都应深入理解和练习,确保在实际考试中能够灵活应对。 2. **Quiz**:Quiz通常用于课堂上的即时反馈,测试学生对新学概念的理解。复习Quiz可以帮助巩固...

    C语言开发实例详解

    6. **函数指针和回调函数**:讲解函数指针的概念,如何使用它们来实现回调机制,以及在设计模式中的应用。 7. **位操作**:介绍位运算符,如何利用它们进行高效的数据处理,例如位字段、位掩码等。 8. **内存管理...

    Jsp学习全套通带附带Servlet API

    此外,还可能包括如何配置Web应用的部署描述符(web.xml)以及使用MVC(Model-View-Controller)设计模式进行JSP和Servlet的整合。 学习这套资料,可以帮助初学者理解JSP和Servlet的基础知识,掌握如何创建动态网页...

    小精灵游戏

    "小精灵游戏"就是这样一个例子,它以C语言为开发工具,再现了吃豆人这一广受欢迎的游戏模式。作为四川大学软件工程专业大一学生的必做项目,这个小精灵游戏不仅锻炼了学生的编程技巧,更让他们在实践中领略到计算机...

Global site tag (gtag.js) - Google Analytics