《面向对象程序设计(Java)》第四周学习总结

Posted bmwb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《面向对象程序设计(Java)》第四周学习总结相关的知识,希望对你有一定的参考价值。

第一部分 第四章部分理论知识

1.面向对象程序设计概述:java是完全面向对象的,必须熟悉OOP才能编写java程序。

类:由类构造对象的过程称为创建类的实例。

封装:封装是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,操纵数据的过程称为方法。对于每个特定的类实例(对象)都有一组特定的实例值域。这些值的集合就是这个对象的当前状态。

对象:对象状态的改变必须通过调用方法实现。

识别类:识别类的简单规则是在分析问题的过程中寻找名词,而方法对应着动词。
类之间的关系:依赖,聚合,继承。

2.使用预定义类:在OOP中,要想使用对象,需先构造对象,并初始化对象,然后通过对象调用类中的方法。

构造器是类中一个特殊的方法,该方法名与类名相同。

java类库中的LocalDate类:LocalDate类用来表示日历表示法。不要使用构造器来构造LocalDate类对象。应该使用静态工厂方法代表你调用构造器。

更改器与访问器方法:set与get。

第二部分 实验部分

1、实验目的与要求

(1) 理解用户自定义类的定义;

(2) 掌握对象的声明;

(3) 学会使用构造函数初始化对象;

(4) 使用类属性与方法的使用掌握使用;

(5) 掌握package和import语句的用途。

2、实验内容和步骤

实验1 测试以下程序,掌握文件输入输出程序设计技术(文件输入输出,教材61-62).

import java.io.*;

import java.util.*;

public class FileWriteReadTest {

public static void main(String[] args) throws IOException{

//写入文件演示

PrintWriter out = new PrintWriter("myfile.txt");

out.println("姓名 高数 Java 数据结构 平均成绩 总成绩");

out.println("张三 20 30 40 0 0");

out.println("李四 50 60 70 0 0");

out.close();//输出完毕,需要close

//读入文件演示

Scanner in = new Scanner(new File("myfile.txt"));//myfile.txt这个File创建一个扫描器in

int number = 1;//行号

System.out.println(in.nextLine());

while(in.hasNextLine()){//判断扫描器是否还有下一行未读取,该循环把文件的每一行都读出

String line = in.nextLine();//读出myfile.txt的下一行

System.out.print(""+(++number)+"行的内容: ");

Scanner linescanner = new Scanner(line);//行内容建立扫描器

linescanner.useDelimiter(" ");//使用空格作为分隔符

String name = linescanner.next();

String math = linescanner.next();

String java = linescanner.next();

String ds = linescanner.next();

String avg = linescanner.next();

String total = linescanner.next();

System.out.println("name="+name+"  math="+math+"  java="+java+"  ds="+ds+"  avg"+avg+"  total="+total);

}

in.close();//读入完毕,最后需要对其进行close

}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实验结果:

技术分享图片

 

技术分享图片

实验2 导入第4章示例程序并测试。

测试程序1:

---编辑、编译、调试运行程序4-2(教材104页);

技术分享图片

 

---结合程序运行结果,掌握类的定义与类对象的用法,并在程序代码中添加类与对象知识应用的注释;

技术分享图片

 

---尝试在项目中编辑两个类文件(Employee.java、 EmployeeTest.java ),编译并运行程序。

技术分享图片

 

---参考教材104页EmployeeTest.java,设计StudentTest.java,定义Student类,包含name(姓名)、sex(性别)、javascore(java成绩)三个字段,编写程序,从键盘输入学生人数,输入学生信息,并按以下表头输出学生信息表:

  姓名      性别 java成绩

源码:

 1 import java.time.LocalDate;
 2 import java.util.Scanner;
 3 public class StudentTest
 4 {
 5    public static void main(String[] args)
 6    { 
 7       Student[] staff = new Student[3];
 8       Scanner in=new Scanner(System.in);
 9       System.out.println("请输入学生信息:");
10       for (int i=0;i<staff.length;i++)
11           staff[i]=new Student(in.next(),in.next(),in.nextInt());
12       System.out.println("name"+" "+"sex"+" "+" "+"javascore");
13       for (Student e : staff)
14          System.out.println(e.getName() +"   "+e.getSex()+"        "+e.getJavaScore());
15    }
16 }
17 
18 class Student
19 {
20    private String name;
21    private String sex;
22    private int javascore;
23 
24    public Student(String n,String s,int m)
25    {
26       name=n;
27       sex=s;
28       javascore=m;
29    }
30 
31    public String getName()
32    {
33       return name;
34    }
35 
36    public String getSex()
37    {
38       return sex;
39    }
40 
41    public int getJavaScore()
42    {
43       return javascore;
44    }
45 }

 

结果:

 

 技术分享图片

 

测试程序2:

---编辑、编译、调试运行程序4-3(教材116);

---结合程序运行结果,理解程序代码,掌握静态域(netxtId)与静态方法(getNextId)的用法,在相关代码后添加注释;

---理解Java单元(类)测试的技巧。

技术分享图片

 

测试程序3:

---编辑、编译、调试运行程序4-4(教材121);

---结合程序运行结果,理解程序代码,掌握掌握Java方法参数的用法,在相关代码后添加注释;

技术分享图片

 

测试程序4:

---编辑、编译、调试运行程序4-5(教材129);

---结合程序运行结果,理解程序代码,掌握Java用户自定义类的用法,掌握对象构造方法及对象使用方法,在相关代码后添加注释。

技术分享图片

 

测试程序5:

---编辑、编译、调试运行程序4-6、4-7(教材135);

---结合程序运行结果,理解程序代码,掌握Java包的定义及用法,在相关代码后添加注释;

技术分享图片

 

技术分享图片

实验3  编写长方形类Rectangle与圆形类Circle,其中Rectangle类设置私有属性:width,length;Circle类设置私有属性radius。编写Rectangle类的带参构造函数Rectangle(int width,int length), Circle类的带参构造函数Circle(int radius),编写两个类的toString方法(Eclipse可自动生成)。上述2个类均定义以下方法:

求周长的方法public int getPerimeter()

求面积的方法public int getArea()

在main方法中完成以下任务:

(1) 输入1行长与宽,创建一个Rectangle对象;

(2) 输入1行半径,创建一个Circle对象;

(3) 将两个对象的周长加总输出,将两个对象的面积加总输出。

实验总结:

通过这次实验,我初步了解了java中OOP的概念,学习了如何自定义类去编程,加深了对java面向对象的特点的理解。


以上是关于《面向对象程序设计(Java)》第四周学习总结的主要内容,如果未能解决你的问题,请参考以下文章

201874040116-李鑫《面向对象程序设计(java)》第四周学习总结

201777010217-金云馨《面向对象程序设计Java》第四周总结学习

201771010118《面向对象程序设计(java)》第四周学习总结

《面向对象程序设计(Java)》第四周学习总结

狄慧201771010104《面向对象程序设计(java)》第四周学习总结

冯志霞201771010107《面向对象程序设计(java)》第四周学习总结