面向对象的程序篇
【 项目目标与任务 】
1.项目目标
(1)掌握 Java 中类的定义
(2)掌握类中属性的声明和方法的定义
(3)掌握声明和 实例化 对象的方法以及通过对象来调用属性和方法
2.项目任务
该项目要定义复数类,并实现两个复数之间的加、减、乘操作
【 项目分析 】
1.项目完成思路
本项目需要定义两个类,实现过程如下;
(1)定义复数类。
先定义一个复数类,该类中定义了表示实部和 虚部 的两个属性,定义复数类的 构造方法 能够
同时给实部和虚部赋值,定义实现复数加、减、乘的成员方法。
(2)定义测试类。
为了测试已经定义的复数类是否正确,需要定义带有main方法的测试类,在main方法中实
例化两个复数类对象,通过对象调用复数类中的加、减、乘方法,并将计算结果的实部和虚
部部分别显示输出。
2.需解决的问题
(1)如何用Java语言定义一个复数类,如何定义复数类中的属性和方法;
(2)加、减、乘这三个成员方法需要定义几个形式参数,返回值类型是什么?怎么去写方
法体?
(3)如何声明并实例化复数类对象,如何通过复数类对象调用成员方法?
了解了项目要完成的基本功能,也有了清晰地解决问题思路,那么下面我们就开始逐一解决
以上问题。
我们再来了解一下什么是java中的对象;现实世界,一台电脑,一张桌子,一把椅子,甚至你和我,都是对象,一句话,万物皆对象。但是你我都作为人来讲的话,都有一些共同的特征,比如,身份证号,名字,年龄;所以作为人这个类中你和我就是略有不同的两个对象,所以,现实中是先有的对象,为了更好地来分析这些对象,那么就不得不把他们共有的特征抽取出来,从而形成了类这个概念。所以啊在程序当中,我们想要搞对象,就必须先过类这关,先把他描述出来,在去搞对象。理解了吧。下面我在介绍一下如何使用java语法来描述类。
【 类的定义 】
语法格式:
[修饰符] class 类名{
[修饰符]类属性定义;
[修饰符]类方法定义;
}
其中修饰符用来说明类的特殊性质,分为访问控制修饰符、抽象修饰符( abstract)、最终修饰符(final)三种,类定义中 class 是关键字,要小写。类名要符合Java语言定义标识符的规定,即:标识符可以由字母、数字、下划线或S符号组成,对标识符的长度没有特别的限制;标识符必须以字母、下划线或$符号开头;标识符区分大小写,不能使用系统的保留字。
【注意】 class要小写,Java是大小写敏感的语言。
先来定义一个矩形类; //定义类,类名为 Rectangle class Rectangle { //定义属性,表示矩形的长和宽 int length=I int width=1: //定义方法,求矩形面积 public int area(){ int temp=length * width; return temp: } };
【项目代码】
(1)定义复数类,有两个 double型属性表示实部和虚部。
class Complexnumber{
double real part;//定义属性表示实部
double imagepart;//定义属性表示虚部
}
(2)定义带参数的构造方法,给实部和虚部赋值;
ComplexNumber( int real, int image){ realpart= real; imagepart=image: }
(3)计算两个复数的加法,因为方法是通过对象调用的,所以调用该方法的对象是参与运算的一个参数,因此 形参 只需一个即可。另外两个复数的加法结果也是复数,因此返回值类型是复数类型;
Complexnumber add (Complexnunber another ){
ouble real=realpart+another, realepart;
double image=imagepart +another. realpart;
return new Complexnumber(real, image);
}
(4)计算两个复数的减法,因为方法是通过对象调用的,所以调用该方法的对象是参与运算的一个参数,因此形参只需一个即可。另外两个复数的减法结果也是复数,因此返回值类型是复数类型;
Complexnumber sub( Complexnumber another){ double real=realpart-another realpart; double image=imagepart-another.reapart; return new Complexnumber( real, image); }
(5)计算两个复数的乘法,因为方法是通过对象调用的,所以调用该方法的对象是参与运算的一个参数,因此形参只需一个即可。另外两个复数的乘法结果也是复数,因此返回值类型是复数类型;
Complexnumber mul((Complexnumber another){ double real=realpart * another. realpart-imagepart*another. realpart: double image=imagepart* another. realpart-realpart *another imagepart; return new Complexnumber( real, image); }
(6)定义含有main方法的测试类,在main方法中声明并实例化两个复数类对象 first和 second ,并调用加、减、乘法后输出结果的实部和虚部。
public class Test{ public static void main(String args){ //声明并实例化两个复数对象 first和 second Complexnumber first-new Complexnumber(1, 2); Complexnunber second=new Complexnumber(3, 4): //将二者的和赋值给addR,并输出其实部和虚部; Complexnumber addR= first.add( second); System. out. println("the sum realpart is: "+addr. realpart+"and imagepart is: "+addr.imagepart): //将二者的差赋值给subR,并输出其实部和虚部 Complexnumber subR= first.mul( second); System. out. println("the sub realpart is:"+subR. realpart+"and imagepart is: "+subr.imagepart): //将二者的积赋值给mulR,并输出其实部和虚部 Complexnumber mulR= first.mul( second); System. out. println("the sum realpart is: "+mulr realpart +"and imagepart is: "+MUIR.imagepart); } }
以上就是今天的知识点及小demo练习;大家好好研究一下;后续还会更新java零基础知识;并不断优化内容;觉得有帮助就点赞关注。我们一同进步。