《疯狂java讲义》2-理解面向对象

iamwlx      2022-04-14     263

关键词:

总结

1、结构化程序设计

  按功能来分析系统需求:自顶向下,逐步求精,模块化等

  结构化分析(Structured Analysis)->结构化设计(SD)->结构化编程(SP)

  面向功能,面向数据流,最小单元是函数

  三种基本结构:顺序结构(顺序执行所有操作,直到出口),选择结构(按条件选择分支执行),循环型结构

  Java保留了goto,但拒绝使用

2、面向对象程序设计

  把握事物的本质特点,抽象成类(共同属性、共同方法的一类事物),作为系统的基本构成单元

  OOA->OOD->OOP

  成员变量(状态函数)+方法(行为)=类定义  粒度比面向过程大,函数相当于方法

  基本特征:

    封装(Encapsulation),将对象实现细节隐藏起来,用共用方法来暴露对象的功能

    继承(Inheritance),实现软件复用

    多态(Polymorphism),同一方法实现多种行为特征,如不同子类间

  类是对象的抽象,对象是类的实例(instance)。消息是实例之间通信的机制。

  面向对象与基于对象不同(JavaScript),注意继承和多态

  Java中一切都是对象,有一个唯一标识来引用它。

3、UML  同一建模语言

  OOA和OOD需要统一的符号来记录,UML2.0

  技术分享图片

3.1 用例图

  用例代表系统的功能模块,不说明如何实现,仅仅是对系统功能的描述。

  椭圆代表用例,小人代表角色,以简单的线段表示之间关系。常用来表达系统,一个简单的BBS系统用例图:

  技术分享图片

3.2 类图

  表示系统包含哪些实体,实体之间如何关联。

  类用包含三个部分的矩形来表示:名称,属性,方法

  技术分享图片

  类之间的三种基本关系:关联(聚合,组合),泛化(继承),依赖

    • 实线代表双向关联,两个类间可以互相访问  
    • 带箭头的实线表示单向关联
    • 关联和属性很像,类中某一属性引用到另一实体即成了关联
    • 聚合:某实体可以是多种实体的组成部分,用带空心棱形框的实线表示
    • 组合:某实体只能是该实体的组成部分,用带实心棱形框的实线表示
    • 泛化表示子类是一种特殊的父类,用带空心三角形的实线表示
    • 一个类的改动会导致另一个类的改动,即依赖,用带箭头的虚线表示,箭头指向被依赖的实体

 技术分享图片技术分享图片技术分享图片

3.3 组件图

  大型应用程序由多个可部署的组件组成。JAR,WAR,DDL(C)

  显示组件的依赖关系。包含组件、接口和port等图元。圆代表接口,Y依赖该接口。

技术分享图片

3.4 部署图

  用于描述软件系统如何部署到硬件环境中,以及如何通信。

  在组件图上加了节点(处理器&设备)的概念,用三维立方体来表示。

 技术分享图片

3.5 顺序图

  显示用例的详细流程

  垂直纬度:以时间顺序显示消息/调用的序列;水平纬度:显示消息被发送到的对象实例。

  技术分享图片

  技术分享图片

3.6 演化图:活动图 状态机图

  技术分享图片

  技术分享图片

  活动图用圆角矩阵代表活动,带箭头的实线代表事件。支持并发。只有一个开始,可以多个结束途径。

  技术分享图片

  技术分享图片

  技术分享图片

问题

1、UML还不熟悉,别当成负担,要当作工具,怎么合理利用是个问题。

 

11_java面向对象_第11天(接口多态)_讲义

今日内容介绍1、接口2、多态01接口的概念*A:接口的概念接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”。接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口... 查看详情

疯狂java讲义-读书笔记1.5第一个java程序

1.5.1编辑Java源代码使用任何无格式的文本编辑器 1.5.2编译Java程序编译命令:javac-ddestdirsrcFile一个源文件里定义了多个类,将编译生成多个字节码文件。配置SublimeText3环境  http://blog.csdn.net/wolinxuebin/article/details/41049551#&n... 查看详情

13_java面向对象_第13天(staticfinal匿名对象内部类包修饰符代码块)_讲义

今日内容介绍1、final关键字2、static关键字3、匿名对象4、内部类5、包的声明与访问6、访问修饰符7、代码块01final关键字概念A:概述继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继... 查看详情

面向对象来理解链表(代码片段)

目录一、链表知识  1.1链表定义  1.2链表结构  1.3说明二、面向对象分析链表  2.1节点封装类Node.java  2.2链表封装类ChainTable.java  2.3关于环的补充  2.4链表测试类TestChainTable.java一... 查看详情

学在前面——《疯狂java讲义》学习笔记

...的~~  于是看了各种JAVA从入门到精通的帖子,选中了《疯狂JAVA讲义》这本书,尽管书有点老了,但是感觉 查看详情

java学习笔记之面向对象

 下面来谈谈我对面向对象的一些理解和总结。1、什么叫面向对象?我自己的理解就是一种编程思想,强调对象,是一种思考问题的思维模式。在学习面向对象的时候,我们要建立起自己面向对象的思维模式。(1)、先整体... 查看详情

《疯狂java讲义》4-流程控制与数组

总结1、流程控制  和C++类似。  switch用的较少,留意一下:Java7后expression还可以是字符串类型。  switch与if不同,起始点非常清晰,故每个case的花括号可以省略。  break不能少,否则一旦匹配则不再判断之后,都会输出... 查看详情

《疯狂java讲义》3-数据类型与运算符

总结  Java是强类型语言:变量想声明后使用,类型要匹配。1、注释  Java的单行注释与多行注释与C++类似,//  /*  */  Java还提供了文档注释,使用javadoc工具可以直接将注释提取为API文档。(好多好多好多类,指导如... 查看详情

读《疯狂ajax讲义》重点

1.XMLHttpRequest()请求的写法(p62)  一个类XMLHttp因该包含的接口:[1] XMLHttp.sendRequest("POST",URL,data,callback); [2]XMLHttp.sendRequestComp("POST",URL,data,callback);[3]XMLHttp.sendRequestAjax("POST",URL, 查看详情

零基础的人学java,看哪些书。。求推荐几本书籍

《疯狂java讲义》 对于这本书,相信大家不陌生,《疯狂讲义》这本书深入介绍了java编程的相关方面,这本书的内容有Java基本语法结构、面向对象特征、集合框架体系、泛型、异常处理、GUI编程、JDBC数据库编程、注释、的IO... 查看详情

2021年最新python讲义:面向对象(oop)基本概念(代码片段)

面向对象(OOP)基本概念面向对象编程——ObjectOrientedProgramming简写OOP目标了解面向对象基本概念01.面向对象基本概念我们之前学习的编程方式就是面向过程的面相过程和面相对象,是两种不同的编程方式对比面向过程的特点... 查看详情

java基础面向对象编程

1.理解面向对象1.1面向对象程序设计(oop)  程序=对象+对象+。。。  数据第一,算法第二  关键:让每一个对象负责执行一组相关任务1.2.面向对象编程的特性  在java语言中,万物皆对象,  程序是一组对象彼此之... 查看详情

java学习之面向对象

...对象还是面向过程都是一种开发思想而已。举一个例子来理解面向对象和面向过程把大象装进冰箱分三步  1.打开冰箱  2.存储大象  3.关闭冰箱看到上面的步骤就是面向过程的思想而面向对象思想  1.冰箱.打开  2.冰... 查看详情

疯狂java讲义:使用servletsocket创建tcp服务器端

参考技术A  使用ServletSocket创建TCP服务器端  从图中看上去TCP通信的两个通信实体之间并没有服务器端客户端之分但那是两个通信实体已经建立虚拟链路之后的示意图在两个通信实体没有建立虚拟链路之前必须有一个通信实... 查看详情

java如何实现面向对象思想

...给这些对象” 对于JAVA面向对象思想的学习,依照此理解顺序1、理解面向对象的总体思想与主要特性,例如封装,继承,多态,超类,集合,泛型,多线程等等。2、接下来,也就是本章节讲解的内容,我们需要进一步了解,... 查看详情

java1.8理解面向对象程序设计

1.break语句:经常用在循环语句中,用于跳出整个循环,执行循环后面的代码。2.continue语句:经常用在循环语句中,用于跳出当前的这个循环(或者是跳出本次循环),开始下一次循环的执行。3.break与continue可以搭配标签使用,... 查看详情

1-理解面向对象

   java语言是纯粹的面向对象的程序设计语言,主要表现为java完全支出面向对象的三种基本特征:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。java语言以对象为中心,java程序的最小单位是类,整个java程序是由一个... 查看详情

java开发实战!java编程思想和java疯狂讲义

一、不少培训班候选人的简历中,缺乏足够的商业项目年限不少同学会有这样得感受:投出去不少简历,但就没有面试机会,对培训班出身的朋友来说,可能这种情况更甚,原因是,这些简历没过筛选... 查看详情