完成Java面向对象程序设计实验课的心得体会(共4篇)
1.完成Java面向对象程序设计实验课的心得体会 篇一
我相信在各位学习的过程中,都会从书上看到面向对面和面向过程的定义,但是如何理解它们之间的区别和转换成自己的思想并运用在软件爱国过程中,我想很多初学者都不能很好的把握。下面我就对面向对象和面向过程做一个简单的分析。
面向过程,顾名思义,其中心意义在于“过程”二字,比如你要吃饭,那么首先是要选地,播种,施肥,成熟,收获,煮饭,然后才能吃饭,那么面向过程就是从开始到结束,分析出解决问题的需要的每一个步骤,然后用函数将这些步骤一个一个实现,使用的时候一个一个一次调用就行了。
面向对象,同样的,你去饭店吃饭的时候,只需要对服务员说一句你要吃饭就行了,你不需要关心饭是怎么来的,这就是面向对象。那么面向对象就是把组成问题事务分解成一个个对象,建立对象不是为了解决一个步骤,而是用来描述某个事务在解决问题步骤中的行为。面向对象是以功能来划分问题,而不是步骤。
以上的解释来源于书上,对于初学者而言,这样的描述过于抽象,不能很好的理解。下面我举个具体的例子来说明。
从书面上来说,可能面向过程更好理解,但是其实面向对象更符合人们的思考习惯。比如外面去商场买衣服,那么商场的功能就是提供衣服,你不需要关心衣服是怎么来的,你只需要向商场提出你要买衣服的要求就可以。就那贪吃蛇这个游戏而言,对于面向过程:1、吃一个;2、绘制画面;3判断是否死亡,就这样依次调用函数,一个一个步骤进行。
而对于面向对象,建立三个对象:1、蛇;2、画面系统;3、规则系统。首先进行操作,然后将操作后的结果提交至画面系统进行画面绘制,绘制之后的结果提交至规则系统判断是否死亡。这样一招功能来划分问题。
从上面的解释来看,面向对象和面向过程依然难以区分,但是如果我要返回上一步,那么对于面向过程而言,从初始状态到判断是否死亡到现实画面可能都需要改动。而对于面向对象则只需要重新设计画面系统,在里面保存上一步的坐标即可,这里不需要涉及到规则系统和其他操作。
面向对象的功能划分保证了面向对象的可扩展性。比如我需要为贪吃蛇重新改写一套规则,在面向过程中,规则已经渗透到整个程序的各个角落,改写不如重写。那么在面向对象中,则只需要重新设计规则系统即可。
其实面向对象和面向过程都强调代买重用,用了对象不代表你的程序就是面向对象,要做到局部改动需要足够的经验,很多人在用java编程时依旧是面向过程的思想(尽管在程序中使用的类和对象),这样的程序设计依然缺乏重用性和可移植性。
2.完成Java面向对象程序设计实验课的心得体会 篇二
1.Java中继承由关键字()实现,用此关键字指出超类。
interface implements class extends
本题分值: 5.0 用户得分: 5.0 用户解答: extends 知识点: 5.1 继承
2.继承是()之间的一种关系,当一个类获取另外一个类中所有非私有数据和操作的定义作为自己的部分或全部成分时,则称这两个类之间具有继承关系。
两个类 多个 集合 层次
本题分值: 5.0 用户得分: 5.0 用户解答: 两个类 知识点: 5.1 继承
3.下面不能用在类声明的修饰是:()。
implements private public 默认
本题分值: 5.0 用户得分: 5.0 用户解答: implements 知识点: 5.1 继承
4.super关键字表示超类的引用,可用super: ()。
在子类构造方法使用超类构造方法。
访问超类成员 引用类自己 无用 定义父类
本题分值: 5.0 用户得分: 5.0 用户解答: 访问超类成员 知识点: 5.1 继承
5.子类继承父类所有的 public 和()成员,而无论这个类是否与父类在同一个包中。
private protected 公共 所有
本题分值: 5.0 用户得分: 5.0 用户解答: protected 知识点: 5.2 域的继承与隐藏
6.在子类中重新定义一个与从父类那里继承来的()的域,称为域的隐藏。
private protected public 名字完全相同
本题分值: 5.0 用户得分: 5.0 用户解答: 名字完全相同 知识点: 5.2 域的继承与隐藏
7.在子类中不能简单地通过变量名称引用父类中被隐藏的成员变量。要在子类访问被隐藏的父类中的域必须通过关键字()引用。
this super object 变量名
本题分值: 5.0 用户得分: 5.0 用户解答: super 知识点: 5.2 域的继承与隐藏
8.子类继承了父类中所有的非私有方法,允许在子类重新定义父类中的实例方法,()中的类方法。
定义类 对象 引用父类 隐藏父类
本题分值: 5.0 用户得分: 5.0 用户解答: 对象
知识点: 5.3 方法继承、覆盖、隐藏
9.“多态”是指一个程序中同名的不同方法共存。在面向对象程序中,多态的实现方式有:方法覆盖和()。
重载 继承 外联 限制
本题分值: 5.0 用户得分: 5.0 用户解答: 重载
知识点: 5.3 方法继承、覆盖、隐藏
10.在子类中可以通过成员的名称直接引用父类的方法或者用“()”引用父类的方法。
对象.方法名称 this.方法名称 super.方法名称 object.方法名称
本题分值: 5.0 用户得分: 5.0 用户解答: super.方法名称
知识点: 5.3 方法继承、覆盖、隐藏
11.在子类中的实例方法与在父类中的实例方法有相同的()时,称作覆盖父类的方法。
返回值 结构 语句
签名和返回类型
本题分值: 5.0 用户得分: 5.0 用户解答: 签名和返回类型
知识点: 5.3 方法继承、覆盖、隐藏
12.当在子类中的覆盖一个父类的方法时,用()注解符通知编译期在父类你想要覆盖的方法。
@author class @Override public
本题分值: 5.0 用户得分: 5.0 用户解答: @Override 知识点: 5.3 方法继承、覆盖、隐藏
13.在调用覆盖的方法时,被调用的覆盖方法的版本(),就是子类中的覆盖方法。只有一个 有多个 不是唯一的 与重载类似
本题分值: 5.0 用户得分: 5.0 用户解答: 只有一个
知识点: 5.3 方法继承、覆盖、隐藏
14.如果子类没有无参数构造方法,它将继承父类的()作为自己的构造方法。
this()指定方法 任何方法 无参数构造方法
本题分值: 5.0 用户得分: 5.0 用户解答: 无参数构造方法 知识点: 5.4 构造方法继承
15.public abstract class GraphicObject { abstract void draw();„„ } 是()类。
抽象 抽象方法 接口 未完成的类
本题分值: 5.0 用户得分: 5.0 用户解答: 抽象 知识点: 5.5 抽象类
16.声明抽象方法用下面的格式:()类型 方法名([参数表]);
static public final abstract
本题分值: 5.0 用户得分: 5.0 用户解答: abstract 知识点: 5.5 抽象类
17.Java语言中接口是像类一样的引用型类型,仅可包含()、嵌套类型。
private static 实例变量 方法
常量、方法签名
本题分值: 5.0 用户得分: 5.0 用户解答: 常量、方法签名 知识点: 5.6 接口
18.接口声明由修饰、interface、接口名称、()和接口体。
private
逗号隔开的父接口列表
static final 父类列表
本题分值: 5.0 用户得分: 5.0 用户解答: 逗号隔开的父接口列表 知识点: 5.6 接口
19.包(package)由一组()组成,是相关类型的组,提供访问保护和命名空间管理。
类和接口 方法 对象和类 静态变量
本题分值: 5.0 用户得分: 5.0 用户解答: 类和接口
知识点: 5.7 包(Packages)
20.引入整个包中所有成员,即“import 包名字.*”,例如:()
import java.io.*;import *.*;import java;import java.io;
3.完成Java面向对象程序设计实验课的心得体会 篇三
(计算机科学与技术本科专业使用)
一、教学目标
通过该实验课,学生应在熟练掌握过程化程序设计方法的基础上,领会面向对象程序设计及类的封装、数据隐藏、继承及多态等特性,逐步掌握面向对象程序设计方法,培养一定的程序设计能力,为以后各专业课程的学习打下良好的程序设计基础。
二、实验教学时数
三、实验内容
实验一 图形打印
1、实验目的:练习for循环
2、实验技能培训内容:打印几种特殊图形,如菱形和Z字形
3、主要仪器:计算机
4、实验方法:上机编程
实验二 判素数
1、实验目的:练习函数
2、实验技能培训内容:判断101-200之间有多少个素数,并输出所有素数。
3、主要仪器:计算机
4、实验方法:上机编程
实验三 递归函数练习
1、实验目的:练习递归函数
2、实验技能培训内容:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....3、主要仪器:计算机
4、实验方法:上机编程
实验四 数列排序
1、实验目的:练习数组及几种基本排序方法
2、实验技能培训内容:用选择、插入、冒泡、快速等几种基本的排序方法对数列进行排序。
3、主要仪器:计算机
4、实验方法:上机编程
实验五 矩阵乘积
1、实验目的:练习数组
20学时
2、实验技能培训内容:用数组存储两个矩阵,求两个矩阵的乘积。
3、主要仪器:计算机
4、实验方法:上机编程
实验六 设计时间日期类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:构造一个TimeDate类,类中包含一个成员函数,用来在屏幕上显示时间与日期(采用建立在标准库time.h中的标准时间与日期来寻找与显示日期)。
3、主要仪器:计算机
4、实验方法:上机编程
实验七 设计计时类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:建立Watch类,用来仿效秒表跟踪消逝的时间。用构造函数将消逝时间的初值置为零。提供两个成员函数Start()与Stop(),分别打开与关闭计时器。
3、主要仪器:计算机
4、实验方法:上机编程
实验八 设计字符栈类
1、实验目的:掌握简单类的设计方法
2、实验技能培训内容:用Stack类,写一个函数LoadStack(),用来返回已经将字母表(a-z)入栈的堆栈。在调用函数中,将这个堆栈赋值给另一个对象,并证明它包含字母表。可以改变堆栈的尺寸,以便它大得足以支持字母表。
3、主要仪器:计算机
4、实验方法:上机编程
实验九 友元的使用方法
1、实验目的:掌握友元的使用方法
2、实验技能培训内容:求两数的平方差(友元函数说明)
3、主要仪器:计算机
4、实验方法:上机编程
实验十 访问权限
1、实验目的:掌握类成员的各种访问权限
2、实验技能培训内容:类成员的各种访问权限
3、主要仪器:计算机
4、实验方法:上机编程
实验十一 类的派生
1、实验目的: 掌握类的派生
2、实验技能培训内容:给出基类AreaClass(形状类),建立两个派生类Box(方形类)与Isosceles(等腰三角形类),让每个派生类包含一个函数Area(),分别用来返回方形与等腰三角形的面积。
3、主要仪器:计算机
4、实验方法:上机编程
实验十二 用类方法求解一元二次方程
1、实验目的: 掌握类的派生
2、实验技能培训内容:实现一个Complex类和一个Real类。将Real类定义为Complex类的子类。然后设计一个求解一元二次实系数方程的根的类Root。
3、主要仪器:计算机
4、实验方法:上机编程
实验十三 类继承中的构造
1、实验目的: 掌握类继承中的构造
2、实验技能培训内容:类继承中的构造方法
3、主要仪器:计算机
4、实验方法:上机编程
实验十四 类继承中的构造
1、实验目的: 掌握类继承中的构造
2、实验技能培训内容:类继承中的构造方法
3、主要仪器:计算机
4、实验方法:上机编程
实验十五 大学生类
1、实验目的: 掌握虚函数的使用
2、实验技能培训内容:设计一个大学的类系统,包括Student(学生),Professor(教师),Staff(职员)。另有一个类既作为学生又兼作助教的可作为派生类StudentStaff,它是由Student类和Staff类派生而来,另外定义一个父类DataRec作为上述类(子类)的基类。
3、主要仪器:计算机
4、实验方法:上机编程
4.面向对象程序设计心得体会 篇四
这次课程设计让我收获到很多,上个学期我们也有过课程设计,但是我们都是从网上下一个程序,连带着报告,看一遍程序,修改修改报告,然后就直接去答辩,都是糊弄糊弄就过去了,自己根本就没有付出过努力,到现在,那个程序的内容是什么全忘光了。但是这次的课程设计,虽然老师您的要求十分严格,但是却是让我切实体会到了自己动手的快乐。要我们自己设计一个管理系统,从定题目,到开始写代码,全部都是自己来。我在开始课程设计前的两周就开始考虑我课设的时候应该做什么内容,想做一般同学都能想到的学生管理系统,但是就怕会有类似的不敢做,冥思苦想了好久,最后才定下的备忘录管理系统,其实所有的管理系统的本质都是一样的,增,删,改,查,但是,这些东看似简单,做起来却难。像我在做增加的时候,就遇到了问题,最后通过老师的调试,才发现原来是我在开始定义字段名的时候就弄错了。我们其他人也一样,中间遇到的问题,也及时的请教同学和老师,原来在寝室,我们都是开着电脑上qq,水人人,看视频,但是当课程设计开始的时候,我们这个寝室都在那做这个管理系统,谁谁谁的查询不好使了,我们也都停下来帮她,当我们都不解决不了的时候,我们就和学得好的男生开语音,让他们教我们,帮我们解决,再解决不了的,我们就来找老师,在机房里大家一起努力,攻克难关。有些时候,困扰我们很长时间的,可能就是一个小小的逗号,或者是被忽略的空格,这些都是我们上课的时候没有注意的,没有好好听课的地方,都在课设的时候碰到了,我在做自己的课程设计的时候,我也经常出错,经常忘了一些细节的东西,比如登陆窗体的时候,忘记了在program.cs里把Form1改成LoginForm,我一直在调试,但是始终出现的是主窗体,登陆窗体始终出不来,最后才想起来忘了这个小步骤,但是这也让我明白,上课的点滴小事,也是非常重要的,除了上课认真听讲之外,下课了还得很认真的看代码,把代码的意思弄明白,渐渐的,像数据库里的表怎么设计,怎么连接数据库,按钮怎么设置,还有很多我都能掌握,所以感觉这次课程设计带给我很多的,课程设计不仅是检查一个人知识掌握了多少,其实更重要的实检测你的实践能力,以及看你是否细心、是否有缜密的思维,所以,我们要在课设的时候加强锻炼,磨练自己,使自己有更高的提高。
【完成Java面向对象程序设计实验课的心得体会】推荐阅读:
面向对向程序设计心得08-26
企业面向国际竞争的必要条件07-09
面向保险行业的高职院校人才培养问题研究09-17
面向能力培养的高等教育教学模式探讨论文06-17
面向可持续发展的水利规划理论与实践论文06-25
探索面向二十一世纪的教育哲学与教育经济学09-10
我国脱贫攻坚目标任务已经完成心得体会08-21