前情提要 到目前为止,OO课程已经完成了前三次的作业,分别为: 第一次作业:简单多项式的构造和求导.[正则表达式][数据结构][排序] 第二次作业:含三角函数因子的复杂多项式的构造.求导和化简.[递归下降][DFS] 第三次作业:含嵌套因子的复杂式的构造.求导和化简.[递归下降][抽象类][接口][递归] 第一次作业 功能介绍 对某种格式的多项式进行parsing,之后计算其导数,按相同格式输出. 多项式由项组成,项有且仅有系数和x的幂.不存在多于两个因子的项. 类图 程序的大致结构如下图: 第…
1.目录结构及导入的jar包 2.web.xml 配置 <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema…
类的继承 Java只支持单继承,不允许多重继承- 一个子类只能有一个父类- 一个父类可以派生出多个子类这里写图片描述子类继承了父类,就继承了父类的方法和属性.在子类中,可以使用父类中定义的方法和属性,也可以创建新的数据和方法.因而,子类通常比父类的功能更多.在Java 中,继承的关键字用的是“extends”,即子类不是父类的子集,而是对父类的“扩展”. 关于继承的规则:    子类不能继承父类中私有的(private)的成员变量和方法. 访问控制 可以对Java类中定义的属性和方法进行访问控制…
项目地址 xmind 基于go语言的xmind接口 使用方法参考: example 本库主要加载xmind文件为json结构,保存文件时也用的json结构而不是xml结构 本库只做了最基本的主题添加功能,类似标签/备注/图片等其他功能不考虑,有想法的自行实现 本库做了通用加载和通用保存方法,可以更灵活的与其他思维导图进行转换 参考: custom_test 示例 自定义json数据创建xmind package main import ( "github.com/jan-bar/xmind&qu…
基于php基础语言编写的小程序之计算器 需求:在输入框中输入数字进行加.减.乘.除运算(html+php) 思路: 1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用selelct的option属性 2 点击输入框中的=号要进行对应的运算, 3 =号这个输入框可以用input的submit来做,只要点击submit表单里的内容就传给php了 4 判断从html中得到的运算符进行对应的运算 5 运算完成后还得把结果返回到表单中(就是给表单的value赋值) 代码 Htm…
面向对象的核心是对象,世间万物都可以看作对象,任何一个对象都可以通过一系列属性和行为来描述,可以包含任意数量和类型的数据或操作.类是用来描述具有相同属性和方法的所有对象的集合.类通常是抽象化的概念,而对象表示具体的事物. 要想熟悉并灵活运用类和对象解决项目中的实际问题,首先需要透彻了解面向对象的三大特性:封装.继承和多态. 本系列是总结python的设计模式,所以本篇的内容为基于python的.与设计模式强相关的对象特性,如无特殊说明默认版本为python3,默认新式类. 封装        …
OO第一单元总结 目录 OO第一单元总结 前言 第一次作业 HW1基本思路 UML类图 代码规模 复杂度分析 方法复杂度 分析 类复杂度 分析 优化策略 第二次作业 HW2基本思路 UML类图 代码规模 复杂度分析 方法复杂度 分析 类复杂度 分析 优化策略 第三次作业 HW3基本思路 UML类图 代码规模 复杂度分析 方法复杂度 分析 类复杂度 分析 优化策略 整体架构分析 数据生成及自动化评测 第一次作业 数据生成 代码示例 自动化评测 第二次作业 数据生成 代码示例 自动化评测 代码示例…
BUAA_OO第一单元作业总结 单元任务 第一单元的任务为实现表达式的求导,其中第一次作业是对简单多项式的求导,第二次作业是对包含简单幂函数和简单正余弦函数的多项式的求导,第三次作业是对包含简单幂函数和简单正余弦函数同时存在嵌套情况的多项式的求导. 一.基于度量的程序结构分析 第一次作业 1. 设计思路 第一次作业给出的多项式每一项之间仅包含加减运算,并且每一项都有固定的格式,即为系数*x^指数,因此可以创建两个ArrayList链表,一个为系数,另一个为指数.首先通过正则表达式将关于空白符与符…
OO第一单元(求导)单元总结 这是我们oo课程的第一个单元,也是意在让我们接触了解掌握oo思想的一个单元,这个单元的作业以求导为主题,从一开始的加减多项式求导再到最后的嵌套多项式求导,难度逐渐提高,编程思想也逐步深入面向对象,如果说前两次作业还可以用C语言的面向过程的思想去对付,那么第三次作业可以说是为面向对象而设计的. 一.作业分析 1.第一次作业 第一次作业作业的目标是实现简单的加减多项式的求导,项的形式为带符号整数和幂函数的结合,带符号整数符号与数字间不允许有空格,如-3*x. 由于此次作…
第一单元OO作业总结 第一次作业 ​ 第一次作业的要求是对仅有常数和幂函数的式子进行求导. ​ 由于是第一次接触JAVA,对很多东西都还不熟悉,尤其是正则表达式做得不好.当时我的思路如下: 建立Poly类,存储若干个幂函数(但是没有把幂函数建立成一个对象,对后面产生了麻烦) 先对字符串进行预处理(好坏参半) 使用符号作为关键字对原字符串进行分割(好坏参半,原因见后文分析) 对特殊符号采用了保护符(有效,但是不够巧妙) 进行简单判断之后,把大部分异常交给BigInteger处理(好) 在Poly类…