Blog

  1. 前言

前三次的题目集,大概囊括了最基础的输入输出、类的创建;字符串的各种操作(定位某个特点字符在字符串中的下标、提取某段需要的子字符串、对于某个字符或某个子字符串的格式判断等等)、类的交互、函数的创建与使用以及正则表达式的运用等等。前两次的作业总体来说难度不大,对类的使用有一定基础都能写出来,第三次作业难度上升,对类中调用类的技术有了更高的要求。

  1. 设计与分析
  2. 菜单计价系统1:

思路:创建一个类,在main函数中新建一个类的数组变量,每次输入对其遍历

实现:

一些核心代码:

心得体会:

本次作业中我第一次体会到面向对象编程和面向过程编程的区别,并能比较熟练的在Java语言中编写方法,熟悉了Java的基本语法。

  1. 菜单计价系统2

思路:

用while对输入进行判断,直到输入“1”,跳出循环完成对菜单的初始化;用一个整数型数组完成对delete的操作。

实现:

心得体会:

在没有学集合的情况下,完成了对未知个数数组的创建(在后续学习中,应用集合会使创建菜单的操作更简单)。

  1. 菜单计价系统3

思路:

用String的matches函数对点菜和带点菜进行区别,进入不同的操作;使用Date,Calender对输入的日期进行判断。

实现:

心得体会:

本来想用String的截取对table信息中的日期进行相应的操作,后来发现使用Date和Calender可以使代码更有逻辑性和更加简洁,对日期类的字符串有关问题有了新的解决方法。

三.踩坑心得

在估算的时候,我采取的方案是对小数点的大小进行判断,然后得到结果,在之后的学习中才知道原来可以用Math.round().......;

只创建了一个类,按理说有多少个对象就一个创建多少个类,当时写代码时没有暂时还没有这个能力,写出来的代码非常乱,就我自己看都费劲,并且没有方法类,直接将方法写在了Dish中,阅读观感非常差;

在没有学习到时间类的时候,table信息中的时间非常难处理,直到我了解到这个知识点,只能说Java它真的,我哭死;

因为之前没有学习到集合内容,所以只能先创建大一点的数组,然而这解决方法是有缺陷的,没有负值的地址会报错,所以在遍历时需要对空的地址单独操作。

  1. 主要困难以及改进建议

在第三次作业中,对代点菜的处理,既要将其记录,还不能进入订单中;

同样在第三次作业中对时间的处理也是一大难点。

不知道提什么改进建议,索性就不提了。

五.总结

面向对象其实就是现实世界原则的抽象。现实世界是对象和对象之间相互作用共同组成的,先有对象后有类,而在软件世界中先有类再有对象。每个对象都有自己特有的属性,例如人具有身高、体重、性别、年龄等属性,这与现实世界是相同的,且每个对象都有自己专有的方法。外部对象如果想要调用这些方法,可以向它请求并传入参数,等方法执行结束后返回结果,这就相当于现实世界,如果你想了解他人的信息,你必须想他人询问并请求。对象就是一个变量,一个具体的东西,类就是类型,从万千对象中抽取共性,对象是类的具体实现。对象不仅包括成员变量,还要成员方法,并且对象的内容也等同于现实世界自然规则是可以继承的,子类继承父类,父类继承曾父类,对象的内容也可以继承。

对课程的建议:

可以多展开一些项目的编写实验,过程中不仅有趣,还能让我们学习到新知识。

posted @ 2023-05-24 21:44  阿猫(TT)  阅读(692)  评论(0)    收藏  举报