OO学习总结与体会】的更多相关文章

前言 经过了对于面向对象程序设计的一个月的学习,我初尝了JAVA以及面向对象程序的魅力.经历了三次难度逐渐加大的课后编程作业,我对于工程化面向对象编程以及调试有了深刻的认识与颇多感想.我写下本篇文章以总结分析这一个月的课后作业的完成情况. 作业总结与分析 多项式加减运算 (1)题目简述: 实现一元多项式的加减运算 (2)程序设计: Class设计: PolyCul类:进行多项式输入,多项式计算调度,多项式输出. Poly类:存储多项式信息,进行多项式计算. Item类:存储单个项的信息,进行项的…
[OO学习]OO第四单元作业总结及OO课程总结 第四单元作业架构设计 第十三次作业 第十四次作业 总结 这两次作业架构思路上是一样的. 通过将需要使用的UmlElement,封装成Element的子类.每个子类存储相应的UmlElement,以及需要保存的信息.比如,Class类里保存着这个类的属性.方法以及关系.父类.实现的接口等信息. Element抽象类有一个put方法,用来建立“关系”.比如,将属性.方法放到对应的Class里. 建立每个类的时候使用工厂模式,这样在做第十四次作业的时候只…
[OO学习]OO第三单元作业总结 第三单元,我们学习了JML语言,用来进行形式化设计.本单元包括三次作业,通过给定的JML来实行了一个对路径的管理系统,最后完成了一个地铁系统,来管理不同的线路,求得关于价格.换乘.不满意度等最短路信息. 本文将介绍:JML语言理论基础.应用工具链和工具的使用方法:SMT Solver:JMLUnitNG自动生成测试用例:三次作业的架构设计:Bug查找策略:个人心得. JML JML(Java Modeling Language)是用于对Java程序进行规格化设计…
前言 在最近一个月的面向对象编程学习中,我们进入了编写多线程程序的阶段.线程的创建.调度和信息传递,共享对象的处理,线程安全类的编写,各种有关于线程的操作在一定程度上增加了近三次作业的复杂度与难度,带来了不小的考验.本文通过分析总结近三次作业的完成情况,分享我对与多线程编程的一些见解与体会. 作业总结分析 多线程电梯调度 (1)题目简述 实现具有捎带功能的电梯调度系统,调度电梯数量为3部. (2)程序设计 本系统的大致结构与之前的单线程电梯调度系统类似,主要由输入处理.请求调度.电梯模拟三大部分…
前言   在最近的一个月的课程中,笔者对于规格化编程进行了深入的学习.运用面向对象抽象思想对编写的程序进行过程抽象.异常处理.数据抽象.类的层次规格与迭代等等规格设计,使得程序结构化程度提高,具有更好的可维护性和复用性.本文通过分析并总结近三次作业规格设计情况,分享我在规格化程序设计上的见解与体会. 作业规格错误汇总 规格错误详细信息: 编号 类型 所在类 方法名称 代码行数 详细 1 前置条件不规范 InputHandler parseOrderReq 5 未使用形式语言 2 前置条件不规范…
前言   随着期末的到来,对于面向对象程序设计课程的学习也迎来了尾声.在最后一个月的从课程中,笔者对于面向对象程序规格实现层面的单元测试.正确性论证以及使用UML图描述程序的设计进行了深入的学习.通过对类和方法进行规格实现进行单元测试以及论证,检查并确认实现的正确性,使得相应代码拥有更高的可靠性.通过使用UML类图.时序图.状态图对系统的功能.结构.行为等层面进行描述,使面向对象程序具有更清晰的结构设计,提高程序的质量.本文通过对相关知识进行调研,就电梯调度系统这一案例绘制UML图并作分析.在本…
OO第二单元作业总结 在第二单元作业中,我们通过多线程的手段实现了电梯调度,前两次作业是单电梯调度,第三次作业是多电梯调度.这个单元中的性能分要求是完成所有请求的时间最短,因此在简单实现电梯调度的基础上,我还使用了一些调度算法来追求性能分,但是效果上不是很理想,只能勉强获得90分,在这里我想把我自己的做法写出了,供大家参考. 本次作业分为以下部分,三次作业实现介绍(包括调度方法), 总结作业.请读者各取所需. (注:本次电梯的全部调度算法仅针对作业题目,对实际情况并不相符) 三次作业实现 第一次…
0.前言:本次主要是针对第三阶段的三次作业以及整个课程学习的总结,这三次作业主要是针对对程序进行重构使得程序可以对功能进行扩展的训练以及对类的设计,所以在此阐述在练习过程中的问题以及感悟. 1.作业总结 1. 三次作业的难度相差不大,但由于这三次没有给出参考UML类图,全部类的设计都需要自己思考设计所以会比给了类图的相对麻烦一点.前两个阶段的作业主要注重基础知识的训练以及理解,如继承封装.多态以及类的聚合等等.该阶段的三次作业都是自己设计类并且对程序进行重构使得可以对功能进行扩展,加深对单一职责…
JAVA入门的理论学习 在JAVA2使用教程的网课学中,分为以下几个模块讲解的 JAVA的地位 JAVA的特点 安装JDK(Java Develepement Kit) Java程序的开发步骤 简单的Java应用程序 Java反编译 其中重点讲解了地位,特点,安装JDK,开发步骤,简单应用程序. Java的特点 简单 相对于C++而言,但是这并不意味着JAVA不强大,应用不广泛. 面向对象 第四章细讲 平台无关 平台=操作系统(OS) + CPU,例如C语言的学习依赖平台,而在Java中,存在J…
这个学期老师让我们做一个系统(服务器和客户端),语言自选,我也随大家开始学习java web 和android . 下面是我自学的一些体会和遇到的问题. 关于jar包. jsds.jar javasisst.jar 都需要添加.这两个包是由于微软的mssqlserver.jar mybase.jar  和Hibernate框架冲突. 关于.xml 切记,.hbm.xml  .cfg.xml的开始的那一部分是不一样的.就因为这个原因,我的第一个.hibernate 跑了两天都没出来... 关于  …
第三周java 2第四章的学习总结: 一.主要内容(类与对象): 1.类: 2.构造方法与对象的创建: 3.类与程序的基本结构: 4.参数传值: 5.对象的组合: 6.实例成员与类成员: 7.方法重载: 8.this 关键字: 9.包: 10.import语句: 11.访问权限: 12.基本类型的类封装: 13.对象数组: 二.遇到的问题总结: 1:封装的时候不能直接一个retrun一个类,应该先clone. 2:PI,和System.IO都是静态常量. 3:类数组的需要两次new! 4:类名首…
OO第一单元作业总结 在第一单元作业中,我们只做了一件事情:求导,对多项式求导,对带三角函数的表达式求导,对有括号嵌套的表达式求导.作业难度依次递增,让我们熟悉面向对象编程方法,开始从面向过程向面向对象转变.本文中,我将介绍我个人每一次作业的做法,以及三次作业的分析,互测时策略. 第一次作业 第一次作业由于只对多项式进行求导,求导的函数只有幂函数,项与项之间仅有和关系,因此处理起来比较简单,输入可以使用正则表达式提取数据,存储可以使用HashMap,这样可以很方便的实现合并同类项,输出也只需要判…
基本数据类型与数组理论学习 根据第二章的网课链接,归纳出以下板块: 知识框架 标识符与关键字 1.标识符 其本质是文件名字 标识符的第一个字符不能为数字,标识符不能为关键字(如inter) 标识符不能是true false null,虽然它们不是关键字 标识符用的是Unicode字符集,要注意字符集内的符号很多,包含多种语言,例如对于?,在英文和汉语输入法中也是占据不同的字符位置的. 2.关键字 int double class float 基本数据类型 逻辑数据 boolean它只能用来判断对…
面向对象课程的第二个阶段结束了,作业们由简单的玩具模式步入到复杂的多线程地狱模式,由之前的算法简单实现有坑转变成算法复杂实现有很大的坑.一个最重要的心得就是一定要在动手敲代码实现之前对整个程序的实现做到心中有数,想好每个模块的功能和借口,这样才能避免在后期的时候改来改去,甚至出现可笑的bug.简而言之就是由随心所欲搬砖,转化成照着蓝图搬砖,这样很容易就能还在雏形的时候发现哪块砖放错了位置.当然后期也需要测试,看看哪些砖会在住人的时候掉链子. 第五次作业: 类图 度量图: 我的问题在于把太多的任务…
前言 虽然之前接触过java,也写过一些1000行左右的程序.可以说面向对象的思想和java的一些基本语法对我来说是没有难度的,但是这学期的面向对象依然给了我一个下马威.这几次的作业每次都很让我头疼.因为不仅要保证针对正确的输入要反馈出正确的输出,还要把错误的输入分辨出来.这样一来,譬如正则表达式和异常处理等新知识和小细节的不熟悉就会让每一次作业变成让人头疼的对象. 其实抽象出来,我们现在完成的三个小任务,每一个都可以抽象成三个步骤. 检查输入的字符串是不是满足要求,如果不满足要求则报错: 对满…
k-d树(k-dimensional树的简称),是一种切割k维数据空间的数据结构.主要应用于多维空间重要数据的搜索(如:范围搜索和近期邻搜索). 索引结构中相似性查询有两种主要的方式:一种是范围查询(range searches),还有一种是K近邻查询(K-neighbor searches).范围查询就是给定查询点和查询距离的阈值.从数据集中找出全部与查询点距离小于阈值的数据:K近邻查询是给定查询点及正整数K,从数据集中找到距离查询点近期的K个数据,当K=1时.就是近期邻查询(nearest…
在我开始写这次博客作业的时候,窗外响起了希望之花,由此联想到乘坐自己写的电梯FROM-3-TO--1下楼洗澡,然后······ 开个玩笑,这么辣鸡的电梯肯定不会投入实际使用的,何况只是一次作业.还是从中认真分析一下经验和不足吧. 作业一:FIFO单电梯 现在看起来,作业一的难度在整个单元真的仅仅相当于热身.使用线程安全的集合类ConcurrentLinkedQueue存储线程,再用while(true)轮询的方法实现电梯的获取请求,获得请求后运行电梯,运行结束后等待下一个请求即可.整个程序甚至不…
OO第二次单元总结--电梯多线程调度问题 在这个单元OO学习中,我们终于迎来了期待已久(不是)的电梯多线程调度作业,开启了OO打怪之路的新关卡.虽然说经过了这三次作业,我对于多线程的理解还不能算是熟练,在线程控制方面的实现也仍有缺陷,但是经过了磕磕绊绊的写作业过程也达到了可以对多线程进行简单应用的程度.在此,我对于第二单元的OO作业进行一个总结,梳理一下自己这三次作业中的实现方式以及所踩过的大雷. 第一次电梯作业 (1)设计策略 题目要求 单部多线程傻瓜调度(FAFS)电梯的模拟,实现对于一个目…
目录 OO第四单元总结及学期总结 第四单元三次作业架构设计 第十三次作业 第十四次作业 第十五次作业 四个单元中架构设计及OO方法理解的演进 第一单元 第二单元 第三单元 第四单元 四个单元中测试理解与实践的演进 第一单元 第二单元 第三单元 第四单元 小结 课程收获 改进意见 线上OO学习体会 OO第四单元总结及学期总结 第四单元三次作业架构设计 第十三次作业 需求分析 ​ 本次作业需要实现一个UML类图分析器,根据传入的UML类图元素UmlElement建立模型.重建关系,并对询问指令作出应…
前言 在学习过JML规格描述语言之后,本单元进行了UML(Unified Modeling Language)的学习.和JML单纯用语言描述的形式不同,UML通过可视化的图形形式,对一系列有关类的元素进行抽象化建模,帮助开发者更高效地理解大规模.复杂系统的模型,这对于理清对象之间的关系.设计对象的架构具有重要的意义. 在本单元的学习中,主要包括StartUML工具的使用以及对UML文件的解析,主要目的都是让我们更深入地了解各种元素的结构和组织方式,以及检验模型有效性的原则.StartUML是一款…
OO第四单元--基于UML的UML解析器总结&OO课程总结 前言:一学期愉快(痛苦)的OO课程学习结束了,OO几个单元作业都各有特色,实验也各有特色,仔细回味起来,不再是单纯的敲代码(但自己还是有几次没用成功提交实验),也不乏有许多有趣的知识.整个作业中测--强测--互测--BUG修复的模式也将整个课程变得充实完善了起来,总的来说,收获很多,遗憾也很多.同时也感谢那些不厌其烦帮助我构思帮我debug的py们. Part1:OO第四单元--基于UML的UML解析器总结 架构分析 本单元主要理解UM…
第四单元总结--UML 第四单元作业架构分析 第一次作业其实是本单元三次作业中最难的一次.由于第一次是第一次作业,要考虑到搭建框架和设计架构,这次作业的思维性很强.在了解了各个类型元素(Element)之间的关系之后,我采用了如下设计架构.类似于课程组所给的源代码的架构,但将class与interface一同继承于一个合并类.新建立operation和association类让自己能够更多的操作空间(能够更好地获取相关数据).其实第一次作业很大部分时间都在完成架构的设计,这个框架设计好了之后完成…
OO第四单元总结与课程总结 第四单元作业架构设计 总体分析:本单元作业的需求集中于对UML类图进行查询.对于查询操作来说自然的想法是提前预见到需要查询的内容,在一开始就采用适当的数据结构将必要的信息进行存储,以空间换取时间.在本单元的作业中我也是完全依据这样的想法来进行设计的. 第一次作业 本次作业只涉及类图,主要的需求是对类的内外信息进行查询,类内的信息包括属性.方法等:类外的信息包括父类.接口实现等.在课程给出的源码中,一个类只包含UML中定义的ID.name等信息,并不包含属性.方法.父类…
在上一节中,主要阐述了JavaScript方面的学习路线.先列举一下我朋友的经历,他去过培训机构,说是4个月后月薪过万,虽然他现在还未达到这个指标. 培训机构一般的套路是这样:先教JavaSE,什么都讲一讲,可是都讲不透,基础差一点的只有越听越糊涂,被面向对象的概念,接口,抽象类,搞得头都大了.一天到晚盯着几个干巴巴的案例看. JavaSE大概持续讲两个月,最后会让你做一个控制台的小屁项目,可能是ATM管理系统,也可能是图书管理啥的. 然后,开始讲html.css,这两样东西一般就是1到2天,讲…
作者: シtearシ  来源: 博客园  发布时间: 2011-09-27 08:40  阅读: 7675 次  推荐: 25   原文链接   [收藏]   摘要:很多人对于ASP.NET的入门和学习顺序比较迷茫,今天让我们一起来跟随作者的思路学习探讨ASP.NET的学习顺序问题,希望有所帮助. 如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET. 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.N…
如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去! 第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework.ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习…
20145308刘昊阳 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1 何谓继承 继承:面向对象中,为避免多个类间重复定义共同行为使用 把相同代码提升为父类 运用extends关键字的子类会继承扩充父类行为 package cc.openhome; public class Game1RPG { public static void main(String[] args){ demoGame1SwordsMan(); demoGame1Magician();…
20145225唐振远<Java程序设计>第1周学习总结——小试牛刀 教材学习内容总结 1.java语言概述:一门高级编程语言. 2.java语言的三种技术构架:java SE.java EE.java ME. 3.java的跨平台性(JVM虚拟机). 4.java语言的环境搭建(①区别JRE,JDK:②下载安装JDK:③配置环境变量path). 5.java程序开发体验--Hello Java!(①编写:②编译:③运行). 教材学习中的问题和解决过程 问题:在dos命令行中敲入javac,出…
使用MarkdonPad2学习心得 心得体会 自从接触了娄老师的课程后,逐渐的适应了使用博客园.实验楼等网络学习资源学习课程,虽说和传统的授课方式有些不同,但毕竟我们就是与电脑与网络打交道,所以在学习的时候这种新颖的授课方式也是很好的.可是在最初的时候始终不明白的一点是为什么我完成的作业非要用MarkdownPad来完成呢?我完成作业并发表是应该的,但是为什么非要统一规格呢?仅仅是因为规格化会美观一些吗?还是方便老师查阅?可是后来发现错了,用Markdown来书写电子文档最重要的是效率.这个不为…
最近花了三四周的时间学习了Node.js ,感觉Node.js在学习过程中和我大学所学的专业方向.NET在学习方法上有好多的相似之处,下面就将我学习的心得体会以及参考的资料总结归纳如下,希望对于刚入门的网友有些帮助吧!       一.Node.js简介 1.1 简介 Node.js是一个让JavaScript运行在服务器端的开发平台,它让JavaScript的触角伸到了服务器端,可以与PHP.JSP.Python.Ruby平起平坐. 但Node似乎有点不同: ● Node.js不是一种独立的语…