个人银行账户管理程序C++代码改写Java总结

JavaC++ 都是面向对象的语言,它们都能够实现“封装、继承、多态”的面向对象的思想。通过本次对于C++代码改写Java的实现,我对于这两种语言的的 区别有了深一层次的理解与体会,现总结如下:

1、 数据类型及类

  • Java是完全面向对象的语言,所有函数(方法)和变量(属性)必须是类的一部分,除了基本数据类型之外,其余都作为类对象,包括数组。对象将数据和方法结合起来,把他们封装在类中,这样每个对象都可以实现自己的特点和行为。
  • C++包括了面向对象的东西,允许将函数和变量定义为全局。

2、数据类型转换

  • C++中有时会出现自动强制类型转换的问题,比如一个浮点型的变量可以赋值给一个整型变量,同时去掉浮点数的尾数。
  • Java中当需要由高级数据类型转换为低级数据类型时,必须由程序进行显式地强制类型转换。

3、常量标识符

  • Java为final
  • C++为const

4、变量初始化

  • Java类中声明一个变量时可以直接初始化(除局部变量外,未显式初始化的变量将自动进行初始化)。
  • C++中不会进行自动初始化。

5、创建对象

  • Java中Account account;该语句并没有创建对象,只是进行了声明;Account account = new Account();该语句生成对象,并生成对象引用,占用堆空间,可以直接使用。
  • C++中Account account在栈中创建了对象,可以直接使用;Account* account = new Account()在堆上创建对象,可以直接使用,生命周期无限,需要进行手动删除。

6、构造函数互调

  • Java的构造函数之间可以相互调用,采用this、super关键字。
  • C++不行。

7、抽象类与抽象方法

  • Java抽象类和抽象方法使用abstract关键字,对于抽象方法,在抽象类中只指定方法名及类型,而不写实现代码。抽象类必须要派生子类,若派生的子类是具体类,则具体子类中必须实现抽象类中定义的所有抽象方法。
  • C++中虚函数的声明处加上 virtual 关键字,子类中必须有同名的虚函数,并且它们是覆盖关系。

8、编译及运行

  • Java源码会先经过一次编译,成为中间码,中间码再被解释器解释成机器码。
  • C++源码一次编译,直接在编译过程中形成机器码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值