zoukankan      html  css  js  c++  java
  • 《面向对象程序设计(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面向对象的特点的理解。

  • 相关阅读:
    自己实现一个hash类的vue-router插件/vue-router底层原理实现
    XSS攻击和防护
    浏览器缓存机制介绍之http缓存-强缓存-协商缓存
    chrome控制台查看网络性能指标-TTFB_Content Download_window.performance
    vscode创建vue快捷键
    移动端布局适配方案
    node生成token
    vue组件的讨论&容易忽略的知识点
    函数防抖
    webpack-搭建项目的代码
  • 原文地址:https://www.cnblogs.com/bmwb/p/9695951.html
Copyright © 2011-2022 走看看