实验1:类、对象基础知识运用剖析_第1页
实验1:类、对象基础知识运用剖析_第2页
实验1:类、对象基础知识运用剖析_第3页
实验1:类、对象基础知识运用剖析_第4页
实验1:类、对象基础知识运用剖析_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、广东技术师范学院实验报告学院:计算机科学学专业:技算师范与班级:成绩:姓名:孔哥哥学号:组别:组员:实验地点:Win 10电脑实验日期:指导教师签名:预习情况操作情况考勤情况数据处理情况实验名称:一、实验目的:1、熟练掌握类、对象的的概念以及对事物的抽象。2、熟练掌握成员、方法的概念以及构造方法的概念。3、熟练掌握封装性,多态性的概念4、理解面向对象的程序设计方法。二、实验内容和步骤:(说明代码及运行结果)1. 运行下面的程序,理解面向对象的程序设计方法的基本概念。 class value public int x,y;public value(i nt a,i nt b)x=a; y=b;p

2、ublic class Ch31 public static void main( Stri ng args) int total;value num=new value(24,65);total=nu m.x+nu m.y;System.out.pri ntl n(add=+total);* gMkLv yu9rii U*4i 酗t Ztpvi Hui Hhw 賊Hh . I* . Jf b J b 凸占Z . .吧I 】-* m Q. W J曲由E J敗曖*J ;尸吓11_|山制炬弟-E|sideC&sideB+sideCsideA&sideA+sideCsideB)System. out

3、 .println( 三角形的周长为 +(sideA+sideB+sideC); else System. out .println( 不能构成三角形 ); / 计算三角形的面积public void getArea()doublesideA=Math.sqrt(Math.pow(n1.x- n2.x ,2)+Math.pow( n1.y- n2y ,2);doublesideB=Math.sqrt(Math.pow(n1.x- n3.x ,2)+Math.pow( n1.y- n3y ,2);doublesideC=Math.sqrt(Math.pow(n3.x- n2.x ,2)+Math

4、.pow( n3.y- n2y ,2);double p=(sideA+sideB+sideC)/2;if (sideA+sideBsideC&sideB+sideCsideA&sideA+sideCsideB) System. out .println( 三角形的面积为 +Math. sqrt (p*(p-sideA)*(p-sideB)*(p-sideC);else System. out .println( 不能构成三角形 );再建一个 Test 类进行测试,代码如下:public class Test public staticvoid main(String args)Point n

5、1=new Point(9,5);Point n2=new Point(5,9);Point n3= new Point(10,6); Triangle tr= new Triangle(); tr.setTr(n1,n2,n3);tr.getPerimeter();tr.getArea();代码结果如下:三角形的周长:12.902019706710776三角形的面积:3.99999999999999964 将上题的方法setTri改用构造方法实现初始化。 代码如下:public classTrian gle/定义三个点,并进行初始化Pointn1 , n2 , n3 ;publicTrian

6、gle(Point n1,Point n2,Point n3)this . n1 =n1;this . n2 =n2;this . n3 =n3;/求三角形周长的方法public void getPerimeter()doublesideA=Math.sqrt(Math.pow (n1 .x- n2 .x ,2)+Math.pow ( n1 .y- n2 y,2);doublesideB=Math.sqrt(Math.pow (n1 .x- n3 .x ,2)+Math.pow ( n1 .y- n3 . y,2);doublesideC=Math.sqrt(Math.pow (n3 .x-

7、n2 .x ,2)+Math.pow ( n3 .y- n2 y,2);if (sideA+sideBsideC&sideB+sideCsideA&sideA+sideCsideB)System. out .println(三角形的周长:+(sideA+sideB+sideC);elseSystem. out .println(不能构成三角形”);/求三角形面积的方法public void getArea()doublesideA=Math.sqrt(Math.pow (n1 .x- n2 .x ,2)+Math.pow ( n1 .y- n2 y,2);doublesideB=Math.sq

8、rt(Math.pow (n1 .x- n3 .x ,2)+Math.pow ( n1 .y- n3 . y,2);doublesideC=Math.sqrt(Math.pow (n3 .x- n2 .x ,2)+Math.pow ( n3 .y- n2 y,2);double p=(sideA+sideB+sideC)/2;if (sideA+sideBsideC&sideB+sideCsideA&sideA+sideCsideB)System. out .println(三角形的面积: +Math.sqrt (p*(p-sideA)*(p-sideB)*(p-sideC);elseSyst

9、em. out .println( 不能构成三角形 );四、习题1什么是面向对象的程序设计方法?它有哪些基本特征?面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。它把编程 问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。面向对象程序设计的基本特征有:1,封装性: 封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。封装隐 藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。2,继承性: 一个类继承另一个类,继承者可以获得被继承类的所有方法和属性,并且可以根据实际的需要添加 新的方法或者对被继承类中

10、的方法进行覆写,被继承者称为父类或者超类,继承者称为子类或导出类,继承提高了程序代码的可重用性, Java 中一个子类只能继承一个父类, Object 类是所有类的最终父类。3,多态性:多态性是指不同的对象对同一事物而做出的相同行为,一个类 A 可以指向其自身类和其导出类,一 个接口可以指向其接口实现类,在方法参数中,使用多态可以提高参数的灵活性。4.抽象性: 抽象就是忽略问题中与当前目标无关的那些方面,以便充分地注意与当前目标有关的方面。2解释类方法与实例方法、类属性与实例属性的区别。实例方法表示特定对象的行为,在声明时前面不加 static 修饰符,在使用时需要发送 给一个类实例。类方法也

11、称为静态方法,在方法声明时前面需加 static 修饰符,类方法表示具体实例 中类对象的共有行为。区别:实例方法可以直接访问实例变量, 调用实例方法, 实例方法可以直接访问类变量, 调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实 例方法;实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。3 简述构造方法的特点构造方法主要有以下特点:(1)构造方法的方法名与类名相冋;(2)构造方法没有返回类型(修饰符void也不能有);(3)构造方法通常被声明为公有的(public);(4)构造方法可以有任意多个参数;(5)构造方法的主要作用是完成对象的初始化工作;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论