首页 >Java >java教程 >Java OOP:一周 OOP 冒险继续

Java OOP:一周 OOP 冒险继续

Patricia Arquette
Patricia Arquette原创
2025-01-08 06:18:44891浏览

Java OOP: Week  The OOP Adventure Continues

在我的第一周我提到了关于OOP的一般主题,我能够在短时间内学到很多关于这些主题的知识时间量。然而,仍有一些话题需要讨论。考虑到这只是OOP的基础知识,我正在决定Java是否是我想要关注的语言100% ,即使大学毕业了,我也不得不说我对后端情有独钟,因为我有测试的经验,这可能是我决定的一个因素。


在第二周我没有太多时间来复习我的主题,例如线程枚举泛型已悬而未决。不过,我在一个模拟餐厅的小项目上取得了进展,可以在其中执行以下操作:

  • 创建产品或膳食
  • 根据这些产品下订单并注明消耗了多少。
  • 添加后显示单个订单
  • 显示所有订单,可以选择根据用户需要添加任意数量的订单。

我创建它主要是为了涵盖OOP的各个方面,包括数据验证,并不断练习逻辑。我已经快完成了,但仍在添加细节;准备好后我会将其上传到我的存储库。


此外,我介绍了另一个OOP主题和其他非常有用的主题。

哪些? 关系类、try and catch 和文件。

我将简要提及这些主题如何对我有用以及我如何理解它们的实际应用。


关系类

关系类是一个我花了一些时间来理解和使用的主题。然而,一旦掌握了窍门,它们就可以轻松实施。我最常使用这个概念的方式是1对N关系,它用于将类B的多个对象链接到类A

例如,如果我想要一辆汽车拥有多个所有者,我需要从Owners类到Cars类的关系。

在Car类的构造函数中,需要传递一个list(我使用的是ArrayList),这个列表是根据Owner构造函数中的对象创建的。因此,所有者及其属性(名称、年龄、ID等)将链接到 Car 构造函数,该构造函数将能够创建具有这些属性的对象。

这是一个简单的示例,展示了如何应用1对N关系:https://pastebin.com/dX6SDWwp

当您需要将某些对象与其他对象“连接”时,这非常有用,以便您拥有直接关系并且它们不仅仅是通过数组或其他不同方法连接。


尝试并捕捉⚙️

Java 中使用 trycatch 是我比在我使用过的其他语言中实现的更多的东西。我认为这是因为我的 IDE 自动建议对某些需要它的异常使用 try 和 catch。

C 等其他语言相比,这个主题只是一个亮点,在其中我很少使用它,并且更喜欢其他技术来避免错误。不过,我逐渐习惯使用 try 和 catch 来预测错误并避免突然的系统崩溃


文件 - JSON/GSON - 序列化和反序列化

使用Java处理文件占据了我上周末70%的学习时间。尽管如此,我觉得与 C 相比,有更多的信息和示例,我还使用 矩阵 实现了文件使用,以维护数据而不重写它。

这对于以下系统很有用:

  • 购物车
  • 库存管理
  • 订单,或任何需要数据保留的系统。

在这种情况下,使用Java,我需要使用对象,所以这就涉及到序列化和反序列化

这里我注意到一个很大的差异,因为编写方式很大程度上取决于您想要的数据类型。我花费了数小时的研究的主要问题是,当我将字符保存到.txt文件时,它们在打开文件时以二进制格式出现,但它们显示为 控制台中的字符

网上发现有两种方式读写数据:

  • 通过字节
  • 通过角色

我使用的方法是基于字节的,因为我直接传递对象

我还没有足够的知识来分享使用 Writer 和 Reader 子类的各种方法之间的差异,但我正在做一个现实世界的练习我将使用存储在 ArrayList 中的对象并学习如何序列化和使用 GSON 反序列化 它们(以将对象在系统中的状态保存在 .json 文件中),然后将此数据写入 .txt 文件,将它们作为记录存储在 中有组织的方式


结束

上周,我没有取得我希望的那么多进展,但是处理文件花了很多时间研究应用 ,以及概念区分,从我审阅的每篇文章中提取一些内容,以达到最终结果,我将在“真实”项目中测试并分享进展如何。

值得一提的是,这种具体处理以及我在 GSON 和 .txt 中提到的场景是我大学需要做的事情。但是,还有其他方法,例如JPA数据库来处理这个问题。并非绝对有必要使用 GSON 和 .txt 来维护系统中的数据。


没什么可补充的,如果有人对文件或我提到的主题有任何意见,请随时发表评论并分享您的建议!

编码愉快!

以上是Java OOP:一周 OOP 冒险继续的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn