Java实验——改写个人银行账户

此改写实验主要体现java纯面对对象语言的语法与框架,每个实验文件都进行了一定程度上的功能拓展,实验过程中我体验到了Java与C++语言基础层次上的的异同。

一、主函数
给出源码的c++语言框架中,形式上主函数是脱离于类的,而在java中主函数也需要包含于类,且为表示为类的静态方法。
源代码c++主函数:
在这里插入图片描述

改写后java主函数:
在这里插入图片描述
二、包
包是java中用于文件管理而引入的概念,当时在改写时对包这一概念并不理解。

遇到的问题(1):起初使用VScode编码,并没有发现类似elipse中自行打包的功能,并且不太理解包的作业,第一部分实验使用的是照搬书本上的打包方法,以至于后来刚改用elipse上的包功能的实现也不太理解(由.java转至.class的过程)。
照搬打包:
在这里插入图片描述
三、语法改写
输入输出:Java与C++中输出输出语句是大相径庭的。在Java中,一切语法功能都是类,常用输入输出也是封装在类之中,这让我深深体会到了面对对象编程的强大。
c++输出流示例:
在这里插入图片描述
Java的System类输出示例:
在这里插入图片描述
c++输入流:
在这里插入图片描述
java输入类:
在这里插入图片描述

类方法实现形式:在源码中类方法大多都是在类外用类加上区域访问符“::”进行实现,Java中的非抽象类方法则必须实现在类中,以record函数为例。
c++源码:
在这里插入图片描述
java改写:
在这里插入图片描述
此处的floor方法在C++中是在头文件中引入可以直接在主函数中使用的。但是在java中因为它被封装成了Math的静态方法,所以需要使用Math类名进行调用。
此处易遗忘对输入对象的关闭处理:
在这里插入图片描述
四、接口
当时学习接口时不太习惯使用(没用过),所以在实验强迫自己所有的类都定义了接口进行使用尝试,对应于源文件的类外方法使用(很多地方貌似没有必要)。接口适用的范文应该是对多个具有类似方法的进行的抽象,目的是为了增强程序的耦合度。
实验8中自行定义的接口:

在这里插入图片描述
五、字符串与引用
在java中,类对象都是用对象引用进行访问等操作的,在类名后进行声明只是声明了一个对象引用,通过“new”语句才是生成了一个类对象。
在这里插入图片描述

c++中则是在声创建后,变量直接代表类的对象,使用对象引用则需要使用’&’符。
在这里插入图片描述
在Java中,String 并不是数据类型而是封装成了一个类,类对象一旦创建无法被改变,进行访问的同样只能使用类引用。在这里插入图片描述
在c++中传参:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/HiphopHarris/article/details/109318162