其他分享
首页 > 其他分享> > 10-16周总结

10-16周总结

作者:互联网

在这段时间里,我学会了如何利用多态、抽象类和接口。与之前相比,我的能力提升较大。题目的难度适中,但是我仍需要花一些时间来完成。

一、pta大作业六 7-2 多态测试

(1)设计与分析

本题要求计算正方体和圆柱的表面积和体积,并要求cube类和cylinder类实现container接口。从图中可以得知,代码的结构并不复杂。这说明多态能简化代码,是代码的可观性提高。我使用了题目中提供的函数,思路比较清晰,很快就写出来了,测试时没有发现问题。因此,代码结构设计的好,就容易得到想要的结果。

(2)采坑心得

class Cube implements Container{
double a;

@Override
public double area() {
return 6*this.a*this.a;
}

@Override
public double volume() {
return this.a*this.a*this.a;
}
}

class Cylinder implements Container{
double radius,height;

@Override
public double area(){
return 2*height*radius*pi+2*pi*this.radius*this.radius;
}

@Override
public double volume() {
return this.radius*this.radius*pi*this.height;
}
}

在cube类和cylinder类中将Container接口中的area()方法和volume方法重写,实现多态。

(3)改进建议

测试时没有发现问题,无需修改。

二、pta作业七 7-1 电信计费系列2-手机+座机计费

(1)设计与分析

本题要求计算座机和手机打电话的费用,并分成多种情况计算。因为考虑到多种情况,所以我将代码设计的很长,结果变得很复杂。用户开户,分为座机和手机,市内拨打、省内拨打、国内拨打的费用递增。我利用多种方法来计算费用,首先计算通话时间,然后按距离分开计算费用,最后将已开户的用户的费用分别累计计算。

(2)采坑心得

void fee(double minute,double fee){
this.balance=this.balance-minute*fee;
this.sum=this.sum+minute*fee;
}

user类中fee()方法可以累积用户的费用,并扣除用户的余额,避免在主类中重复计算。

(3)改进建议

我一开始写的代码非常长,通过一段时间的测试和简化,我最后将代码的行数减少了几十行。因为可能的情况比较多,需要用到多个if语句。如果要改的话,代码可能会变长,也会变得更加复杂。所以我尽量缩短代码的长度并确保测试时正确率不会下降。

 总结

在这段时间里,我比较熟练地运用多态、抽象类和接口。我觉得我的练习还是不够多,仍需巩固。JAVA语言的学习即将结束,我将努力学好未来要学的语言。

标签:总结,10,fee,return,16,double,代码,多态,radius
来源: https://www.cnblogs.com/upsoarvenk/p/16384660.html