欢迎来到天天文库
浏览记录
ID:25140161
大小:358.50 KB
页数:39页
时间:2018-11-18
《浙大 java语言程序设计 第六讲》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第六章类和对象ClassandObjectOverview6.1类和对象概述6.2类的封装6.1类和对象概述面向对象的基本概念面向对象技术中,将客观世界中的事物作为对象看待每个事物都有自己的属性和行为从程序设计的角度事物的属性可以用变量描述事物的行为用方法描述类:定义属性和行为的模板对象是类的实例对象与类的关系就像变量和数据类型的关系一样对象与类简单地说:对象是现实世界中某个具体的事物;类是对象的抽象描述。张三类(CLASS),如:“Manclass”将对象抽象为类对类进行实例化汽车类对象对象抽象
2、为类类实例化为对象Java的类OOP认为:程序由对象组成每个对象有自己的属性和能执行的操作并且:只关心对象能够完成的操作,不必关注实现功能的过程ForExample:用户买车Java所有程序代码,都属于某个类Java的类分为两种Java类库——由Java提供的、可供用户调用的各种类的各种方法(我们可以使用的)用户编写的类(我们需要学习的)Java的类Java类库——我们已经使用过的……StringMathJOptionPaneScannerMath——数学类库为用户处理数学问题提供方法(函数)例如
3、:Math.PIMath.sin(doublea)Math.sqrt(doublea)Math.abs(int/long/float/doublea)……在Math库中,有各种数学(方法)函数自定义类——用户编写程序用户程序从类开始一个程序可以有多个类每一个类可以有多个方法有且只有一个类中,有类的main()方法除了main()方法,不同的类之间的方法可以互相调用类的声明[修饰符]class类名[extends父类名][implements接口名列表]{类的成员变量声明;类的方法声明;}这里,[]
4、中的可以省略因此,一般的类声明格式为:[修饰符]class类名{……}【例6-1】定义一个二维平面上点的类classPoint{privateintx,y;publicvoidsetPoint(inta,intb){x=a;y=b;}publicintgetX(){returnx;}publicintgetY(){returny;}publicStringtoString(){return"("+x+","+y+")";}}类名:Point类成员变量:x,y类的方法(1):setPoint设置坐标
5、值类的方法(2):getX取X坐标类的方法(3):getY取Y坐标类的方法(4):toString获取字符串格式的坐标[修饰符]类名对象名=new类名(实参列表);或[修饰符]类名对象名;对象名=new类名(实参列表);对象的创建建立了类,就可以用类创建对象比较String变量创建:Stringstr2=newString();或者:Stringstr3;str3=newString();Pointp1;//对象p1注意:类属于复合数据类型,在声明对象时,未分配空间使用new完成对象的分配空间的任
6、务new运算符的作用是创建对象、分配空间p1=newPoint();//给P1对象分配存储空间创建对象(实例6-1)对象的引用引用成员变量对象名.成员变量名例如:p1.x=3;p1.y=5;引用方法对象名.方法名(参数列表)例如:intn=p1.getX();intm=p1.getY();classPoint{privateintx,y;publicvoidsetPoint(inta,intb){x=a;y=b;}publicintgetX(){returnx;}publicintgetY(){r
7、eturny;}publicStringtoString(){return"("+x+","+y+")";}}publicstaticvoidmain(String[]args){Pointp1;p1=newPoint();p1.setPoint(3,5);System.out.print(p1.getX());System.out.print(""+p1.getY());System.out.print(""+p1.toString());}输出:35(3,5)Point.javaJava实例—
8、—对象使用【例6-2】定义一个表示圆形的类,能计算圆面积和周长。Circle1.javaclassCircle1{//创建对象和使用对象调用举例floatr;publicvoidsetR(floatx){//设置半径r=x;}publicdoublearea(){//计算面积returnMath.PI*r*r;}publicdoubleperimeter(){//计算周长return2*Math.PI*r;}publicstaticvoidmain(String[]args){do
此文档下载收益归作者所有