版本一两种语言都是在一个类中就实现了所有功能,但内部函数的声明及实现还是有所不同的。
在C++的SavingsAccount类中,函数的声明和实现是分开来写的,先对所有的成员函数进行声明,声明时又将私有成员和共有成员分块(只用一个private或一个public就能声明多个类型相同的函数)而且最后再将所有的成员函数统一实现,最后再由main函数调用,整体结构层次分明,可读性强。
java中:与c++不同的是,java中的函数的声明和实现不能分开写,是要同时完成的,结构没有c++中那么分明;此外,java中的成员函数的声明中,若为私有成员则每个函数声明中都要写private,同理,若为公有成员则都要写public,这一点远不及c++中的简便。
首先,版本三中创建了对象数组,用一个数组来存储多个对象,采用了" 数组名.方法名”的方式对函数进行调用;其次,版本三多出来一个date类,使得程序的功能更加丰富,在简单的存取款和显示余额的功能上加入的date类,以便于显示操作日期,更符合用户的需求。新增一个date类使得代码更加灵活,便于修改和重复使用。
版本四中运用了继承的思想,继承的基本作用是代码复用,将父类中方法拿到子类中进行使用,更重要的作用是有了继承之后才有方法覆盖和多态机制。
c++语言当中的继承支持多继承,一个类能同时继承很多类,c++中继承是的格式为:子类名+::+父类名,如:class CreditAccount : public Account,版本四中CreditAccount和 SavingsAccount都为Account的子类。
java语言只支持单继承,一个类不能同时继承多个类。java中继承的格式为:子类名+extends+父类名。在写java代码时我还遇到了空指针异常的错误,花了好长时间才找出错误,错误的原因是声明了引用,但没有给引用开辟空间,这也反映了c++和java在创建对象上的不同。
版本六中使用了容器来代替数组,两者之间的区别如下:
1.数组可以存储基本数据类型,也可以存储引用数据类型;容器类不以具体的类型来处理对象,而是将所有的对象都以Object类型来处理,所以我们可以只创建一个容器,任意的Java对象都可以放进去.容器类可 以使用包装类(Integer,Double等),以便把基本类型放入其中. List Set Map 都可以自动调整容量,数组不能。
2.数组是固定长度的,集合的长度是可变的。知道数组的长度,而且以后也不会再增加,那肯定就使用数组了;如果数组的长度不定或者说是长度会增加,为了方便起见使用容器。
3. 数组存储的元素必须是同一个数据类型;集合存储的对象可以是不同数据类型。
评论列表