计算机与信息工程系课程实验报告

姓    名

武雪芹

学    号

2014134026

班    级

3D仿真设计

课程名称

面向对象程序设计

实验类型

验证

实验地点

M406

指导教师

魏青

实验日期

2015.03.27

实验成绩

实验名称

类和对象

一、 实验目的及要求

1理解类和对象的概念及二者间的区别

2理解并掌握方法的声明和调用

3理解构造方法的作用

4掌握对象的创建与初始化

二.实验内容

一.面向对象的程序设计对象

二.定义类

三.为类增加成员变量

四.成员方法的定义形式

五.对象创建

六.对象的初始化

三、实验步骤

一.面向对象的程序设计对象

具有相同属性的集合称为类

类中的一个实体称为对象     (类:文字描述   对象:看得见,摸得着)

二.类如何定义

1属性(静态)即特性

2行为(动态)即行动

3类声明的格式

访问符  修饰符  class  类名

{属性

行为}

1>访问符 public(公共) protected(受保护) private(私有) 省略

2>修饰符 abstract(抽象)  static(静态)  final(最终) 省略

3>class 关键字

4>类名: 用户标识符:字母  数字  下划线  ¥  (第一个字母要大些)

例  定义长方形类

public class Rectangle()

{private double length;private double width} //属性(成员变量)

public Rectangle(double length;double width);

{this.width=width;this.length=length;}      //构造成员方法

public double getArea()

{return width*length;}   //构造成员方法

4 类成员变量

访问符 类型 变量名;

访问符: public(公共) protected(受保护) private(私有) 省略

三.成员方法的定义形式

访问符  返回值的类型  方法名(类型,参数名,类型,参数名)

{  方法名 };

public double getArea()

{return width*length;}   //成员方法

定义需注意:定义方法,确定功能。

需不需要参数。

是否需要返回值。

例一:定义一个原型类,包含以下内容.   两个成员变量:半径r,颜色color

两个成员方法:求面积,求周长

public class Circle{

private double r;

private String color;

public Circle(double r;String color)

{this.r=r;this.color=color;}

public double getArea(){return 3.14*r*r;}

public double getPete(){return 2*3.14*r;}

}

四.对象创建

1.声明对象:类名  对象名;

Rectangle m;

Circle n;

Circle circle;

2.为对象分配存储空间

对象名=new 类名();     Rectangle m;

m=new Rectangle();       m=new  Rectangle();//即 Rectangle m=new Rectangle();

3.只定义对象,不分配存储空间

Rectangle m;

M=null;

五.对象的初始化(对对象赋值--用构造方法)

public Rectangle(double width,double length)

{this.width=width;this.length=length;}初始化对象就是对其变量赋初值

1.构造方法的一般形式

访问符  类名(参数)

{  初始化语句;}    //类名必须与方法名一致

2.构造方法没有返回值的类型

3.当构造方法参数与局部变量同名时,使用this;不同时,省去this.

4.初始化的过程

Rectangle  m;

m=new Rectangle();

m=new Rectangle(3,5);

5.使用对象中的成员

对象名.成员名

(引用当前对象中的成员)   //m.width    m.length  m.getArea()

例二:定义一个矩形类,包含以下内容:

两个成员名 长宽   两个成员方法 面积周长

初始化一个矩形对象m,宽为3,长为5.输出其长宽  面积  周长

public class Rectangle{

private double length;private double width;  //定义矩形的两个成员变量

public Rectangle(double width,double length)

{this.width=width;this.length=length;}       //定义构造方法

public double getArea()

{return width*length;}       //定义求面积的成员方法

public double getPete()

{return 2*(width+length);}     //定义求周长的成员方法

public class void main(String[] args)     //主方法

{Rectangle m;

m=new Rectangle(3,5);

System.out.println(m.width);

System.out.println(m.length);

System.out.println(m.getArea());

System.out.println(m.getPete());

}

}

6.构造方法不是必须的,可以缺省,这时系统会自动调用默认的系统方法(没有参  数,方法体是空的)

7.构造方法可以有多种,若类中自己定义了构造方法,必须用定义的..不会调用默认的

练习:定义一个圆形类,包括以下内容

1>有两个成员变量:半径r  颜色color

2>两个成员方法:求面积getArea  求周长getPete

3>初始化一个原对象n,半径为3,颜色为red

输出这个圆的半径,颜色,面积,周长

public class Circle {

private double r;

private String color;

public Circle(double r,String color)

{this.r=r;this.color=color;}

public double getArea()

{return 3.14*r*r;}

public double getPete()

{return 2*3.14*r;}

public static void main(String[] args) {

Circle n;

n=new Circle(3,"red");

System.out.println(n.r);

System.out.println(n.color);

System.out.println(n.getArea());

System.out.println(n.getPete());}

}

四、实验结果

例一:r

color

3.14*r*r

2* 3.14*r*r

例二:3.0

5.0

15.0

16.0

练习:3.0

red

28.259999999999998

18.84

五、结果分析与实验体会

本章介绍了定义类及应用的主要内容

类的定义包含了类名,成员变量和方法三个部分

每一个对象都是一个类的实例。一个类的不同对象具有相同的属性,但是这些属性的     值和具体对象相关。不同对象的相同行为(执行方法)可能引起不同的结果。

对象是一个类的实体,一般使用new运算符调用类所定义的构造方法创建。

注:1、实验类型分为:演示、验证、综合、设计研究或其他。

2、附录:可附加源程序代码清单等。

六、附录(源程序代码清单等)

2014134026武雪芹相关推荐

  1. 【武书连】2021 中国一流大学名单(30 所)和中国大学综合实力 700 强出炉!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源 | 武书连 编辑 | 双一流高校.AI有道 本文为参考排名,不 ...

  2. 助力军事内容持续产出,军武次位面完成B轮融资...

    1月31日消息,近日,拥有"军武次位面"等自媒体产品的军武科技完成5000 万元的B 轮融资由国内某知名的文娱产业基金领投,老股东真成基金.IDG资本跟投. <军武次位面&g ...

  3. 元气骑士超级科学计算机有什么用,元气骑士:超级科学计算器不只是白武,全面解析它的4种形态!...

    元气骑士最近新版的发布也是加入了很多新的武器,其中热度高,获取不易的武器就是妙妙枪和超级科学计算器了,为什么说两把武器获取难度高呢?因为这两把武器不是地牢箱子和商人那可以获取的武器,玩家只有通过宝箱开 ...

  4. 软件测试江湖之公会武器之争

    有人的地方就有江湖,有江湖的地方就有恩怨. 软件测试也有自己的江湖,也有自己的纷争. 软件测试江湖一直存在于武林中,只是对外行事低调,从不惹是非,是以未受到武林中各路人士的关注,直到近年来互联网这股势 ...

  5. keil4 动态调式断不能先打断点嘛_为什么说抖音“鸽武缘”的通背拳是不能实战的“花架子”...

    在写这篇文章以前我犹豫了很久,我想可能此文一出,会有铺天盖地的文中主人公粉丝来骂我,但是正如知乎一位朋友所说,"本人无欲则刚",我不教传统武术,但又作为传统武术练习者,还是希望大家 ...

  6. 平凡的世界和你我 (武惠良与杜丽丽)

    平凡的世界和你我 (武惠良与杜丽丽) 作者:炸炸呼呼 "我不应该骗你.我爱你,也爱他."丽丽平静地说. "你什么时候变成了这样的人?" "我也不知道. ...

  7. springboot 拦截器 日志_跟武哥一起学习Spring Boot,一份全面详细的学习教程

    SpringBoot现在已经是企业开发项目的标准框架,至少新项目一般都会使用SpringBoot框架,发现有一个SpringBoot的笔记写的非常好,非常全面, 也非常认真,即使你对SpringBoo ...

  8. 凑微分公式_武忠祥真题班归纳(更新至多元函数微分学)

    哇,咱们公众号有100个小伙伴了,大家冲冲冲! 温馨提示 据说,李永乐复习全书每道题都滚瓜烂熟,可以有120的潜力.那么,我们一定要加油掌握每一道题呀. 学习目标: 掌握知识点 掌握解题方法 做题,做 ...

  9. iphone以旧换新活动_【武商襄阳购物中心】 参与iphone以旧换新活动,最高可抵4300元,旧机可享10%额外补贴...

    Apple 产品的保值能力,在业内可以说是首屈一指的.往往一台使用超过3年的产品,也能有不错的回收价格.这也让越来越多的消费者在购买新品时,选择「以旧换新」. 而现在,Apple 正在进行的旧机回收活 ...

最新文章

  1. VMware下安装的CentOS 7如何配置IP地址并能与Windows物理机ping通
  2. socket编程报异常java.io.EOFException
  3. java多态的应用场景_Java培训SE基础之多态的应用场景
  4. UA MATH563 概率论的数学基础 中心极限定理15 Kolmogorov 0-1律
  5. numpy meshgrid 和 mgrid 的两个简单实例和解析
  6. 【个推CTO谈数据智能】之本质及技术体系要求
  7. mysql数据库写分页函数_mysql数据库写分页函数
  8. ubuntu怎么设置linux的ip地址,linux,ubuntu设置ip
  9. Nginx+ffmpeg的HLS开源server搭建配置及开发具体解释
  10. 亚马逊EC2服务器使用Rsync+Inotify实时同步
  11. ArcGIS 赋予不同指标权重计算综合结果
  12. 软件开发团队的脓包(1-3)皇帝的新装、口号党、废话迷
  13. javascript开发植物大战僵尸网页版游戏源代码下载
  14. 遇到slideUp Down 问题
  15. 计算机word中如何加入水印?
  16. H5案例分享—你的数学是语文老师教的吗?
  17. 【前端技术】一篇文章搞掂:WeX5
  18. 微信小程序软件测试junit,微信小程序兼容性能测试方法
  19. 配置华为AP6050DN胖AP
  20. java窗口如何定时关闭_[Java教程]【温故而知新】Javascript窗口效果 (全屏显示窗口、定时关闭窗口)_星空网...

热门文章

  1. Windows远程文件下载执行的15种姿势
  2. Python3自动化打包项目发布到pypi
  3. 灵动微单片机MM32F0140的Mini-LED应用
  4. 为什么那么多家长选择童年汇
  5. nkoj P8845 过滤空格
  6. 回首2018,你好2019!
  7. Linux搭建YUM仓库安装软件(Centos 7.5)
  8. VMWare 15中Ubuntu 18.04安装VMWare Tools
  9. MATLAB 三维曲线
  10. Matlab怎么计算信号的能量,Matlab小波包分解后如何求各频带信号的能量值? [转]...