刘志梅201771010115《面向对象程序设计(java)》第十八周学习总结(代码片段)

lzm7343 lzm7343     2023-02-16     323

关键词:

实验十八 总复习

实验时间 2018-12-30

1、实验理论知识

(1)第一个关键词:public称为访问修饰符,用于控制程序的其他部分对代码的访问级别。

第二个关键词:class表明java程序中的全部内容都包含在类中。

第三个关键词:main方法必须声明为public。

boolean(布尔)类型:用于判断逻辑条件;有两个值false和true。

return语句用于函数的终止执行或退出类的方法,并把控制权返回该方法的调用者。

break语句的三种作用:在switch语句中终止一个语句序列;使用break语句直接强行退出循环;使用break语句实现goto的功能。

(2)java面向对象程序设计:抽象;继承;封装;多态性。

继承:指子类拥有父类数据结构的方法和机制,只能是单继承。

封装性:保证程序和数据不受外部干扰且不被误用,目的在于保护信息;优点有:保护类中的信息;隐藏细节信息;提高复用率。

多态性:一个接口,多个方法;允许一个接口被多个同类使用。

对象的特点:对象具有属性和行为;对象具有变化的变化的状态;对象具有唯一性;对象都是某个类别的实例。

面向对象程序设计优点:可重用性(提高开发效率);可扩展性(便于软件修改);可管理性(将数据与功能结合)。

(3)Frame(框架):用于描述顶层窗口。

Swing(用户界面开发工具包):Swing对平台的依赖很小;swing类位于javax.swing包中;所有的swing组件都必须由事件分派线程进行配置。

JFrame:扩展于Frame类,是不绘制在swing组件上的,它的修饰部件 ( 按钮 、标题栏、图标等)由用户的窗口系统绘制。

(4)java多线程的实现方式:继承Thread类,重写run函数;实现Runnable接口,重写run函数;实现Callable接口,重写call函数。

2、实验内容和步骤

任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx。

任务2:综合编程练习

练习1:设计一个用户信息采集程序,要求如下:

(1) 用户信息输入界面如下图所示:

技术分享图片

 (1)用户点击提交按钮时,用户输入信息显示控制台界面;

(2)用户点击重置按钮后,清空用户已输入信息;

(3)点击窗口关闭,程序退出。

package Project1;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Timer;
import java.util.TimerTask;

import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.ButtonModel;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;

public class DemoJFrame extends JFrame 
    private JPanel jPanel1;
    private JPanel jPanel2;
    private JPanel jPanel3;
    private JPanel jPanel4;
    private JTextField fieldname;
    private JComboBox comboBox;
    private JTextField fieldadress;
    private ButtonGroup bg;
    private JRadioButton nan;
    private JRadioButton nv;
    private JCheckBox reading;
    private JCheckBox traveling;
    private JCheckBox listening;

    public DemoJFrame() 
        // 设置窗口大小
        this.setSize(600, 400);
        // 设置可见性
        this.setVisible(true);
        // 设置标题
        this.setTitle("编程练习一");
        // 设置关闭操作
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        // 设置窗口居中
        WinCenter.center(this);
        // 创建四个面板对象
        jPanel1 = new JPanel();
        setJPanel1(jPanel1);
        jPanel2 = new JPanel();
        setJPanel2(jPanel2);
        jPanel3 = new JPanel();
        setJPanel3(jPanel3);
        jPanel4 = new JPanel();
        setJPanel4(jPanel4);
        // 设置容器的为流布局
        FlowLayout flowLayout = new FlowLayout();
        this.setLayout(flowLayout);
        // 将四个面板添加到容器中
        this.add(jPanel1);
        this.add(jPanel2);
        this.add(jPanel3);
        this.add(jPanel4);

    

    /*
     * 设置面一
     */
    private void setJPanel1(JPanel jPanel) 
        // TODO 自动生成的方法存根
        jPanel.setPreferredSize(new Dimension(700, 45));
        // 给面板的布局设置为网格布局 一行4列
        jPanel.setLayout(new GridLayout(1, 4));
        JLabel name = new JLabel("name:");
        name.setSize(100, 50);
        fieldname = new JTextField("");
        fieldname.setSize(40, 20);
        JLabel study = new JLabel("study:");
        comboBox = new JComboBox();
        comboBox.addItem("junior");
        comboBox.addItem("senior");
        comboBox.addItem("bachelor");
        jPanel.add(name);
        jPanel.add(fieldname);
        jPanel.add(study);
        jPanel.add(comboBox);

    

    /*
     * 设置面板二
     */
    private void setJPanel2(JPanel jPanel) 
        // TODO 自动生成的方法存根
        jPanel.setPreferredSize(new Dimension(700, 50));
        // 给面板的布局设置为网格布局 一行4列
        jPanel.setLayout(new GridLayout(1, 4));
        JLabel name = new JLabel("address:");
        fieldadress = new JTextField();
        fieldadress.setPreferredSize(new Dimension(50, 50));
        JLabel study = new JLabel("hobby:");
        JPanel selectBox = new JPanel();
        selectBox.setBorder(BorderFactory.createTitledBorder(""));
        selectBox.setLayout(new GridLayout(3, 1));
        reading = new JCheckBox("reading");
        traveling = new JCheckBox("traveling");
        listening = new JCheckBox("listening");
        selectBox.add(reading);
        selectBox.add(traveling);
        selectBox.add(listening);
        jPanel.add(name);
        jPanel.add(fieldadress);
        jPanel.add(study);
        jPanel.add(selectBox);
    

    /*
     * 设置面板三
     */
    private void setJPanel3(JPanel jPanel) 
        // TODO 自动生成的方法存根
        jPanel.setPreferredSize(new Dimension(700, 150));
        FlowLayout flowLayout = new FlowLayout(FlowLayout.LEFT);
        jPanel.setLayout(flowLayout);
        JLabel sex = new JLabel("sex:");
        JPanel selectBox = new JPanel();
        selectBox.setBorder(BorderFactory.createTitledBorder(""));
        selectBox.setLayout(new GridLayout(2, 1));
        bg = new ButtonGroup();
        nan = new JRadioButton("male");
        nv = new JRadioButton("female");
        bg.add(nan);
        bg.add(nv);
        selectBox.add(nan);
        selectBox.add(nv);
        jPanel.add(sex);
        jPanel.add(selectBox);

    

    /*
     * 设置面板四
     */
    private void setJPanel4(JPanel jPanel) 
        // TODO 自动生成的方法存根
        jPanel.setPreferredSize(new Dimension(700, 150));
        FlowLayout flowLayout = new FlowLayout(FlowLayout.CENTER, 50, 10);
        jPanel.setLayout(flowLayout);
        jPanel.setLayout(flowLayout);
        JButton sublite = new JButton("validate");
        JButton reset = new JButton("reset");
        sublite.addActionListener((e) -> valiData());
        reset.addActionListener((e) -> Reset());
        jPanel.add(sublite);
        jPanel.add(reset);
    

    /*
     * 提交数据
     */
    private void valiData() 
        // TODO 自动生成的方法存根
        // 拿到数据
        String name = fieldname.getText().toString().trim();
        String xueli = comboBox.getSelectedItem().toString().trim();
        String address = fieldadress.getText().toString().trim();
        System.out.println(name);
        System.out.println(xueli);
        String hobbystring="";
        if (reading.isSelected()) 
            hobbystring+="reading   ";
        
        if (traveling.isSelected()) 
            hobbystring+="traveling  ";
        
        if (listening.isSelected()) 
            hobbystring+="listening  ";
        
        System.out.println(address);
        if (nan.isSelected()) 
            System.out.println("");
        
        if (nv.isSelected()) 
            System.out.println("");
        
        System.out.println(hobbystring);
    

    /*
     * 重置
     */
    private void Reset() 
        // TODO 自动生成的方法存根
        fieldadress.setText(null);//只删除旧文本
        fieldname.setText(null);
        comboBox.setSelectedIndex(0);
        reading.setSelected(false);//设置reading按钮状态为faulse
        traveling.setSelected(false);
        listening.setSelected(false);
        bg.clearSelection();//清除选中内容
    
package Project1;



import java.awt.EventQueue;

import javax.swing.JFrame;

public class Main 
    public static void main(String[] args) 
        EventQueue.invokeLater(() -> 
            DemoJFrame page = new DemoJFrame();
        );
    
package Project1;

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Window;

public class WinCenter 
    public static void center(Window win)
        Toolkit tkit = Toolkit.getDefaultToolkit();
        Dimension sSize = tkit.getScreenSize();
        Dimension wSize = win.getSize();
        if(wSize.height > sSize.height)
            wSize.height = sSize.height;
        
        if(wSize.width > sSize.width)
            wSize.width = sSize.width;
        
        win.setLocation((sSize.width - wSize.width)/ 2, (sSize.height - wSize.height)/ 2);
    

技术分享图片 

练习2:采用GUI界面设计以下程序:

? 编制一个程序,将身份证号.txt 中的信息读入到内存中;

? 按姓名字典序输出人员信息;

? 查询最大年龄的人员信息;

? 查询最小年龄人员信息;

? 输入你的年龄,查询身份证号.txt中年龄与你最近人的姓名、身份证号、年龄、性别和出生地;

? 查询人员中是否有你的同乡。

? 输入身份证信息,查询所提供身份证号的人员信息,要求输入一个身份证数字时,查询界面就显示满足查询条件的查询结果,且随着输入的数字的增多,查询匹配的范围逐渐缩小。

 

package 身份查询;

    import java.awt.Dimension;
    import java.awt.EventQueue;
    import java.awt.Toolkit;

    import javax.swing.JFrame;

    public class Out 

         public static void main (String args[])
            
                 Toolkit t=Toolkit.getDefaultToolkit();
                Dimension s=t.getScreenSize(); 
                EventQueue.invokeLater(() -> 
                    JFrame frame = new Main1();
                    frame.setBounds(0, 0,(int)s.getWidth(),(int)s.getHeight());
                    frame.setTitle("身份查询系统");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
                 );        
            
     
    
package 身份查询;


    public class Person implements Comparable<Person> 
        private String name;
        private String ID;
        private int age;
        private String sex;
        private String birthplace;

        public String getname() 
        return name;
        
        public void setname(String name) 
        this.name = name;
        
        public String getID() 
        return ID;
        
        public void setID(String ID) 
        this.ID= ID;
        
        public int getage() 

        return age;
        
        public void setage(int age) 
        this.age= age;
        
        public String getsex() 
        return sex;
        
        public void setsex(String sex) 
        this.sex= sex;
        
        public String getbirthplace() 
        return birthplace;
        
        public void setbirthplace(String birthplace) 
        this.birthplace= birthplace;
        

        public int compareTo(Person o) 
           return this.name.compareTo(o.getname());

        

        public String toString() 
            return  name+"	"+sex+"	"+age+"	"+ID+"	"+birthplace+"
";

        



        

 

package 身份查询;

    import java.awt.BorderLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.BufferedReader;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.util.*;
    import java.util.Timer;
    import javax.swing.*;

    public class Main1 extends JFrame
    
        private static ArrayList<Person> Personlist;
        
        
        Scanner scanner = new Scanner(System.in);
        File file = new File("F:\\身份证号.txt");
        
        private JPanel Panel;
        private JLabel JLabel1;
        private JButton Button,Button2,Button3;
        private JTextArea text,text1,text2,text3;
        boolean tru=true;
        
        
        
        public  Main1() 

            
            Panel = new JPanel();Panel.setLayout(null);
            Button = new JButton("1:按姓名字典序输出人员信息");
            Button2 = new JButton("2:查询最大年龄与最小年龄人员信息");
            Button3 = new JButton("查询相近年龄");
            JLabel1 = new JLabel("输入身份证号或者地址查询");JLabel1.setBounds(900, 50, 400, 30);
            
            text=new JTextArea(30,80);text.setBounds(50, 180, 700, 700);
            text1=new JTextArea(1,30);text1.setBounds(900, 80, 400, 30);
            text2=new JTextArea(30,80);text2.setBounds(900,180,700, 700);
            text3=new JTextArea(30,80);text3.setBounds(420,100,200,40);
           
            Button.addActionListener(new Action());Button.setBounds(50,50,300,40);
            Button2.addActionListener(new Action1());Button2.setBounds(50,100,300,40);
            Button3.addActionListener(new Action2());Button3.setBounds(650,100,120,40);
            Panel.add(JLabel1);
            Panel.add(Button);
            Panel.add(Button2);
            Panel.add(Button3);
            Panel.add(text);
            Panel.add(text2);
            Panel.add(text1);
            Panel.add(text3);
            add(Panel);
            
            
            Timer timer = new Timer();      
            TimerTask timeTask=new TimerTask() 
                
                 @Override
                public void run()
                              
                         // TODO Auto-generated method stub
                         text2.setText(null);
                         String place=text1.getText().toString().trim();
                         for (int i = 0; i <Personlist.size(); i++) 
                         
                             
                             String Str=(String)Personlist.get(i).getbirthplace();
                             if(Str.contains(place)&&!place.equals("")) 
                                 
                                 text2.append(Personlist.get(i).toString());
                                   
                              
                         for (int i = 0; i <Personlist.size(); i++) 
                         
                             
                             String Str=(String)Personlist.get(i).getID();
                             if(Str.contains(place)&&!place.equals("")) 
                                 
                                 text2.append(Personlist.get(i).toString());
                                   
                            
                         
                
                
            ;timer.schedule(timeTask, 0,100);
         
            Personlist = new ArrayList<>();       
            try 
                FileInputStream fis = new FileInputStream(file);
                BufferedReader in = new BufferedReader(new InputStreamReader(fis));
                String temp = null;
                while ((temp = in.readLine()) != null)             
                    Scanner linescanner = new Scanner(temp);               
                    linescanner.useDelimiter(" ");    
                    String name = linescanner.next();
                    String ID = linescanner.next();
                    String sex = linescanner.next();
                    String age = linescanner.next();
                    String place =linescanner.nextLine();
                    Person Person = new Person();
                    Person.setname(name);
                    Person.setID(ID);
                    Person.setsex(sex);
                    int a = Integer.parseInt(age);
                    Person.setage(a);
                    Person.setbirthplace(place);
                    Personlist.add(Person);

                
             catch (FileNotFoundException e) 
                System.out.println("查找不到信息");
                e.printStackTrace();
             catch (IOException e) 
                System.out.println("信息读取有误");
                e.printStackTrace();
            
     
            
        
        
        


        private class Action implements ActionListener
        
        public void actionPerformed(ActionEvent event)
                    
             text.setText(null);
             Collections.sort(Personlist);
             text.append(Personlist.toString());
            

                 

        private class Action1 implements ActionListener
            
            public void actionPerformed(ActionEvent event)
                        
                text.setText(null);
                int max=0,min=100;int j,k1 = 0,k2=0;
                for(int i=1;i<Personlist.size();i++)
                
                    j=Personlist.get(i).getage();
                   if(j>max)
                   
                       max=j; 
                       k1=i;
                   
                   if(j<min)
                   
                       min=j; 
                       k2=i;
                   
                  
                text.append("年龄最大:   "+Personlist.get(k1)+"
"+"年龄最小:  "+Personlist.get(k2));     
                
       
                      

        private class Action2 implements ActionListener
        
        public void actionPerformed(ActionEvent event)
                    
             text.setText(null);
             int a = Integer.parseInt(text3.getText().toString().trim());         
             int d_value=a-Personlist.get(agenear(a)).getage();
             
             for (int i = 0; i < Personlist.size(); i++)
             
                 int p=Personlist.get(i).getage()-a;
                
                 if(p==d_value||-p==d_value) text.append(Personlist.get(i).toString());
              
            

         
        
        
        public static int agenear(int age) 
            
            int j=0,min=53,d_value=0,k=0;
             for (int i = 0; i < Personlist.size(); i++)
             
                 d_value=Personlist.get(i).getage()-age;
                 if(d_value<0) d_value=-d_value; 
                 if (d_value<min) 
                 
                    min=d_value;
                    k=i;
                 

                  return k;
             
          

    

技术分享图片

练习3:采用GUI界面设计以下程序

? 编写一个计算器类,可以完成加、减、乘、除的操作

? 利用计算机类,设计一个小学生100以内数的四则运算练习程序,由计算机随机产生10道加减乘除练习题,学生输入答案,由程序检查答案是否正确,每道题正确计10分,错误不计分,10道题测试结束后给出测试总分;

? 将程序中测试练习题及学生答题结果输出到文件,文件名为test.txt。

import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.Toolkit;

import javax.swing.JFrame;

public class Test 

     public static void main (String args[])
        
             Toolkit t=Toolkit.getDefaultToolkit();
            Dimension s=t.getScreenSize(); 
            EventQueue.invokeLater(() -> 
                JFrame frame = new Demo();
                frame.setBounds(0, 0,(int)s.getWidth()/2,(int)s.getHeight()/2);
                frame.setTitle("计算");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
             );        
        
 
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Collections;
import java.util.Scanner;

import javax.swing.*;

import java.math.*;


public class jisuan extends JFrame 
    
    private String[] c=new String[10];
    private String[] c1=new String[10];
    private int[] list=new int[10];
    int i=0,i1=0,sum = 0;
    private PrintWriter out = null;
    private JTextArea text,text1;
    private int counter;
    
    public Demo()  
        JPanel Panel = new JPanel();//创建具有双缓冲和流布局的新 JPanel。 
        Panel.setLayout(null);
        JLabel JLabel1=new JLabel("");//创建具有制定文本的标签1
        JLabel1.setBounds(500, 800, 400, 30);//给定标签1的大小(x,y,height,width)
        JLabel1.setFont(new Font("Courier",Font.PLAIN,35));//根据指定名称、样式和磅值大小,创建一个 Font。 
        JButton Button = new JButton("生成题目");//创建“生成题目”按钮
        Button.setBounds(50,150,150,50);Button.setFont(new Font("Courier",Font.PLAIN,20)); //规定按钮大小和按钮中字体风格等
        Button.addActionListener(new Action());//动作监听器,在有新动作时产生回应
        JButton Button2 = new JButton("确定答案");//创建“确定答案”按钮
        Button2.setBounds(300,150,150,50);Button2.setFont(new Font("Courier",Font.PLAIN,20));
        Button2.addActionListener(new Action1());
        JButton Button3 = new JButton("读出文件");//创建“读出文件”按钮
        Button3.setBounds(500,150,150,50);Button3.setFont(new Font("Courier",Font.PLAIN,20));
        Button3.addActionListener(new Action2());
         text=new JTextArea(30,80);//构造30行,80列的new TextArea
         text.setBounds(30, 50, 200, 50);//组件位置
         text.setFont(new Font("Courier",Font.PLAIN,35));//文本域中字体名称样式磅值大小
         text1=new JTextArea(30,80);
         text1.setBounds(270, 50, 200, 50);
         text1.setFont(new Font("Courier",Font.PLAIN,35));
        
         //两个空的文本域
         Panel.add(text);
         Panel.add(text1);
         
         //将三个按钮和一个标签添加到面板
         Panel.add(Button);
         Panel.add(Button2);
         Panel.add(Button3);
         Panel.add(JLabel1);
         add(Panel);
           
                  
    
    
    private class Action implements ActionListener
    
    public void actionPerformed(ActionEvent event)
                
        text1.setText("0");
        if(i<10) 
        
        int a = 1+(int)(Math.random() * 99);
        int b = 1+(int)(Math.random() * 99);
        int m= (int) Math.round(Math.random() * 3);
      switch(m)
      
      case 0:
          while(a<b)  b = (int) Math.round(Math.random() * 100);a = (int) Math.round(Math.random() * 100);   
          c[i]=(i+":"+a+"/"+b+"=");
            list[i]=Math.floorDiv(a, b);
            text.setText(i+":"+a+"/"+b+"=");
            i++;
            
          break; 
      case 1:
          c[i]=(i+":"+a+"*"+b+"=");
          list[i]=Math.multiplyExact(a, b);
          text.setText(i+":"+a+"*"+b+"=");        
         i++;
          break;
      case 2:
          c[i]=(i+":"+a+"+"+b+"=");
          list[i]=Math.addExact(a, b);
         text.setText(i+":"+a+"+"+b+"=");
         i++;
          break ;
      case 3:
          while(a<=b)  b = (int) Math.round(Math.random() * 100);a = (int) Math.round(Math.random() * 100);     
          c[i]=(i+":"+a+"-"+b+"=");
          text.setText(i+":"+a+"-"+b+"=");
          list[i]=Math.subtractExact(a, b);i++;

          break ;
          
        
      
          
    private class Action1 implements ActionListener
    
    public void actionPerformed(ActionEvent event)
            
        if(i<10) 
        text.setText(null);        
        String daan=text1.getText().toString().trim();
        int a = Integer.parseInt(daan);
        if(text1.getText()!="") 
         if(list[i1]==a) sum+=10;
         
        
         c1[i1]=daan;
         
         i1++;
         
        
        

          
    

    private class Action2 implements ActionListener
    
    public void actionPerformed(ActionEvent event)
        
         
        try 
            out = new PrintWriter("text.txt");
         catch (FileNotFoundException e) 
            // TODO Auto-generated catch block
            e.printStackTrace();
        
        for(int counter=0;counter<10;counter++)
        
            out.println(c[counter]+c1[counter]);
        
        out.println("成绩"+sum);
        out.close();

        

       

 技术分享图片

任务3:本学期课程已结束,请汇总《面向对象程序设计课程学习进度条》的数据,统计个人专业能力提升的数据。并从学习内容、学习方法、学习心得几个方面进行课程学习总结,也希望你对课程的不足提出建议和意见。

实验总结:这学期学习java的基本概念,程序设计的特点

通过本学期的java课程学习,从刚开始到现在慢慢的学习、了解、熟悉java,在这个学习过程当中幸好有老师和助教的耐心讲解,在我们不懂得时候老师与助教相互配合,不仅在课堂上详细讲解,还在课下我们不懂的地方助教会每周固定时间答疑,在平时如果有问题老师和助教会热心解答回复我们的疑惑之处。

 

 

 

 

 

 

 

 

 

刘志梅201771010115.《面向对象程序设计(java)》第六周学习总结

实验六继承定义与使用实验时间2018-9-281、实验目的与要求(1)继承的定义:用已有类来构建新类的一种机制。当定义了一个新类继承了一个类时,这个新类就继承了这个类的方法和域,同时在新类中添加新的方法和域以适应新的... 查看详情

刘志梅201771010115《面向对象程序设计(java)》第七周学习总结

实验七继承附加实验实验时间2018-10-111、实验目的与要求(1)进一步理解4个成员访问权限修饰符的用途:即将类中的域标记为private,而方法标记为public。任何声明为private的内容对其他类都是不可见的。超类中的某些方法允许被... 查看详情

刘志梅201771010115.《面向对象程序设计(java)》第二周学习总结

实验二Java基本程序设计(1)实验时间2018-9-6第一部分:理论知识学习3.1一个简单的Java应用程序关键字public称为访问修饰符,这些修饰符用于控制程序的其他部分对这段代码的访问级别;关键字class表明java程序中的全部内容都包... 查看详情

刘志梅201771010115.《面向对象程序设计(java)》第十四周学习总结(代码片段)

实验十四 Swing图形界面组件实验时间20178-11-291、实验目的与要求(1)设计模式:反复使用、经过分类编目的、代码设计经验的总结。在Alexander的模式分类和软件模式的分类中,每种模式都遵循一种特定的格式。模型-视图-控制... 查看详情

刘志梅201771010115.《面向对象程序设计(java)》第十五周学习总结(代码片段)

实验十五 GUI编程练习与应用程序部署实验时间2018-12-61、实验目的与要求(1)一个JAR文件既可以包含类文件,也可以包含诸如图像和声音这些其他类型的文件。创建一个新的JAR文件应该使用的常见命令格式:jarcvfJARFileNameFile1File... 查看详情

刘志梅201771010115《面向对象程序设计(java)》第十八周学习总结(代码片段)

实验十八总复习实验时间2018-12-301、实验理论知识(1)第一个关键词:public称为访问修饰符,用于控制程序的其他部分对代码的访问级别。第二个关键词:class表明java程序中的全部内容都包含在类中。第三个关键词:main方法必须声... 查看详情

刘志梅201771010115.《面向对象程序设计(java)》第十六周学习总结(代码片段)

实验十六 线程技术实验时间2017-12-81、实验目的与要求(1)当线程的run方法执行方法体中最后一条语句后,并经由执行return语句返回时,或者出现了在方法中没有捕获的异常时,线程将终止。当对一个线程调用interrupt方法时,... 查看详情

刘志梅2017710101152.《面向对象程序设计(java)》第十三周学习总结(代码片段)

实验十三 图形界面事件处理技术实验时间2018-11-221、理论知识(1)任何支持GUI的操作环境都要不断地监视按键或点击鼠标这样的事件。JAVA这样的面向对象语言,都将事件的相关的信息封装在一个事件对象中。不同的事件源可以... 查看详情

刘志梅2017710101152《面向对象程序设计(java)》第十周学习总结(代码片段)

实验十  泛型程序设计技术实验时间2018-11-11、实验目的与要求(1)泛型程序设计:意味着编写的代码可以被很多不同类型的对象所重用。(ArrayList类可以聚集任何类型的对象)如果在其它地方,若将get的结果强制类型转换... 查看详情

面向对象程序设计介绍以及面向对象的基本特征

  面向对象的程序设计(ObjectOrientedProgramming,OOP)方法是目前比较流行的程序设计方法,和面向过程的程序设计比,它更符合人类的自然思维方式。在面向过程程序设计中,程序=数据+算法,数据和对数据的操作是分离的,如... 查看详情

《面向对象程序设计概述》牛咏梅

面向对象程序设计概述牛咏梅(南阳理工学院河南南阳473000)摘要:分析传统程序设计方法与面向对象程序设计方法之间的差别,重点分析了面向对象程序设计方法的特点,介绍了面向对象程序设计方法的步骤及其优点。关键词:面向对... 查看详情

java面向对象大致梳理

...概述:Java设计语言面向对象:Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都... 查看详情

面向对象的程序设计

阅读目录一面向对象的程序设计的由来二什么是面向对象的程序设计及为什么要有它三类与对象四属性查找五绑定到对象的方法的特殊之处六对象之间的交互七练习八继承与派生九多态与多态性十封装十一绑定方法与非绑定方法... 查看详情

面向对象思想

...0年代,位于美国加州的Xerox研究中心推出smalltalk语言及其程序设计环境,使得面向对象程序设计方法得到比较完善的实现,掀起了面向对象研究的高潮。到80年代中后期,面向对象的软件设计和程序设计方法 查看详情

面向对象设计----软件设计师

上午12分下午两大答题30分面向对象的基本概念❤❤❤❤❤采用面向对象的软件开发,通常由面向对象分析,面向对象设计,面向对象实现1面向对象分析OOA:获取对应用问题的理解,主要任务是抽取和整理用户需求并建立问题域精确模... 查看详情

面向对象分析与设计面向对象设计包括哪些内容

一、总述面向对象分析的输入是用户的功能需求,输出是简单的、理性化的分析模型,此阶段的工作更多侧重于如何理解软件的功能需求;面向对象设计的输入是面向对象分析的结果,蔬菜水果最终的、细化后的设计模型,此阶... 查看详情

面向对象思想初识

面向对象思想概述Java语言是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想,我们在面向对象思想的指引下,使用Java语言去设计、开发计算机程序。这里的对象泛指现实中一切事物,每种事物都具备自己的... 查看详情

面向过程程序设计,面向对象程序设计,可视化程序设计的异同

...开-闭原则。也使代码更易阅读。相对而言,面向过程的程序设计是面向对象程序设计的基础。面向对象的程序里面一定会有面向过程的程序片断的!可视化程序设计主要是一种技术 参考技术B这些是阶梯型向上发展的,一个比一... 查看详情