面向对象基础05综合讲解1Word文档格式.docx
《面向对象基础05综合讲解1Word文档格式.docx》由会员分享,可在线阅读,更多相关《面向对象基础05综合讲解1Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
权限属性名称:
类型
-name:
String
==>
privateStringname;
方法的表示:
权限方法名称(参数名称:
参数类型,参数名称:
参数类型):
返回值类型
+setName(name:
String):
void
publicvoidsetName(Stringname)
用手工画类图会非常麻烦哈,我们可以使用jude这样的工具。
JUDE(JavaandUMLDevelopersEnvironment)1.2.1
在这里,我们新建三个类:
Student,Class_,Out
类我们定义好了后,我们再来定义下类滴属性哈,先Student类定义name、age、score属性。
属性定义后我们就定义其setter和getter方法并设置其参数。
依此类推
然后是班级Class类定义name、de.ion两个属性。
同样设置其setter和getter方法并设置参数。
最后是输出类Out,这个非常简单,只要定义一个print方法就可以了。
最后一张完整的类图就出来了哈~
在这个工具中,可以根据图形生成代码,我们看下面哈~
选择文件----导出Java
选择存放的路径
现在目录中就生成了这三个类文件
我们把它们合并到一个文件中,这样直观一点哈~
验证下效果哈~
修改代码为其加入构造方法
class
Student{
private
Stringname;
int
age;
float
score;
//修改程序,加入一个构造
public
Student(){}
Student(Stringname,int
age,float
score){
this.setName(name);
this.setAge(age);
this.setScore(score);
}
setName(Stringname){
this.name=name;
StringgetName(){
return
this.name;
setAge(int
age){
this.age=age;
getAge(){
this.age;
setScore(float
score){
this.score=score;
getScore(){
this.score;
Class_{
Stringde.ion;
Class_(){}
Class_(Stringname,Stringde.ion){
this.setDe.ion(de.ion);
setDe.ion(Stringde.ion){
this.de.ion=de.ion;
StringgetDe.ion(){
this.de.ion;
Out{
print(Studentstu,Class_cla){
System.out.println("
学生姓名:
"
+stu.getName());
学生年龄:
+stu.getAge());
学生成绩:
+stu.getScore());
班级名称:
+cla.getName());
班级描述:
+cla.getDe.ion());
Demo02
{
static
main(Stringargs[]){
Students=
new
Student();
s.setName("
王乾"
);
s.setAge(27);
s.setScore(99.9f);
Class_c=
Class_();
c.setName("
JAVA强化班"
c.setDe.ion("
学习JAVA技术强化班"
Out().print(s,c);
}
加入构造方法后效果怎么样呢?
验证一下哈~
程序我们已经修改了,我们可以将程序代码导入到工具之中,自动生成类图。
首先我们新建一个文件
然后选择导入Java
找到Java程序的路径
单击start
如果属性是两个单词的,则第一个单词的首字母小写,之后每个单词的首字母大写。
/*
1、定义好要使用的类
2、定义好类中的属性
3、为属性封装
4、为封装后的属性设置setter和getter方法
5、如果需要可以为类中添加构造方法
6、为类中添加所需要的其他方法
*/
Student
//学生编号
Stringstuno;
//学生姓名
Stringname;
//数学成绩
mathScore;
//英语成绩
englishScore;
//计算机成绩
computerScore;
Student(Stringstuno,Stringname,float
mathScore,float
englishScore,float
computerScore){
this.setStuno(stuno);
this.setMathScore(mathScore);
this.setEnglishScore(englishScore);
this.setComputerScore(computerScore);
setStuno(Stringstuno){
this.stuno=stuno;
setName(Stringname){
setMathScore(float
mathScore)
this.mathScore=mathScore;
setEnglishScore(float
englishScore)
this.englishScore=englishScore;
setComputerScore(float
computerScore)
puterScore=computerScore;
StringgetStuno(){
this.stuno;
StringgetName(){
getMathScore(){
this.mathScore;
getEnglishScore(){
this.englishScore;
getComputerScore(){
puterScore;
//添加所需要的其他方法
//在编写类的时候一定要记住一个原则:
任何的输出绝对不能在类中完成
//所有要输出的内容在类中只是把值返回来,交给调用处输出
//取得全部成绩的总和
getSum(){
this.mathScore+this.englishScore+puterScore;
//取得平均成绩
getAvg(){
this.getSum()/3;
//取最高的成绩
getMax(){
//三个成绩相比
max=0.0f;
if
(this.mathScore>
this.englishScore)
max=
else
(max<
puterScore)
max;
//取最低的成绩
getMin(){
min=0.0f;
min=
(min>
min;
Demo03{
s.setStuno("
s01"
s.setMathScore(89.8f);
s.setEnglishScore(99.0f);
s.setComputerScore(88.8f);
System.out.println(s.getName()+"
的成绩单("
+s.getStuno()+"
):
\t|-总成绩:
+s.getSum());
\t|-平均成绩:
+s.getAvg());
\t|-最高成绩:
+s.getMax());
\t|-最低成绩:
+s.getMin());
};
测试下效果
一般来说分析面向对象程序的步骤:
1、可以画一些类的草图
2、之后定义每个类中的属性,属性定义完之后必须封装
3、封装的属性如果需要被外部所访问,则肯定必须写setter和getter
4、如果需要在对象实例化时可以为其属性赋初始值,则可以加入构造方法,如果有必要则可以加入多个构造(一个是无参的,其他的是有参的)
5、为类中添加程序所必须的方法
6、进行测试
记住:
开发中main方法就是一个测试端,只在里面写少量的代码即可,不可多写,也可以把main方法称为客户端。
总结
通过这一季的习题练习哈,我们一定要培养面向对象的解决的思路起来哈~~~
#########################################################################
本文出自“王乾De技术博客”博客,谢绝转载!