欢迎来到天天文库
浏览记录
ID:19825046
大小:700.00 KB
页数:39页
时间:2018-10-06
《定义类方法课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章类与对象程序设计方法的发展过程小作坊设计模式硬件成本高,软件便宜,编程讲究技巧,编程人数少结构化程序设计硬件成本低,软件成本高,编程讲究可维护性,编程人数多面向对象程序设计硬件成本低,软件代码动辄百万行,软件危机,编程人数多程序设计方法公共数据函数函数函数函数算法+数据结构数据方法方法数据方法方法过程式程序设计OOP程序设计对象+消息消息一、面向对象的基本概念符合人们日常自然的思维习惯;降低、分解问题的难度和复杂性,提高软件的可重用性、可扩展性、可管理性;获得较高效率和较满意效果。面向对象程序设计的优点:类与对象对象是表示现实世界中某个具体的事物;类的某一个对象则被称为是类的一个实例
2、,是类的实例化结果。类是对对象的抽象描述。是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,是创建对象的“模板”。在现实世界中,是从对象提炼出类的概念;在编程时,是先有类,然后通过类来创建对象张三类(CLASS)如:“classman”对对象进行抽象为类对类进行实例化消息(message)消息对象之间相互请求或相互协作的途径,是要求某个对象执行某项操作的规格说明消息传递的三个要素:消息的接收者接收对象中哪个方法完成指定动作此方法需要的参数发送对象发出消息,请求接收对象响应接收对象收到消息后,经过解释,激活方法,予以响应消息的格式所谓对一个对象发信息,就是调用该对象的一个方法。对
3、象名.方法名([参数])如:Math.max(a,b);Integer.parseInt(str);String.length();方法(method)方法是对象的行为方式(操作)对象与外界的接口作用改变对象的属性返回对象的属性object1object2二、定义类[修饰符]class类名[extends父类][implements接口名]{成员变量声明;构造器声明方法声明;}Java实例——定义类publicclassdogs{publicStringName;publicintWeight;publicintHeight;publicvoidShowDog(Stringn,intx,i
4、nty){Name=n;Weight=x;Height=y;}publicvoideat(){System.out.println("Dogseatbone.");}publicvoidbark(){System.out.println("Adogwillbarkatstrangers.");}}Java实例——定义类classPoint{privateintx,y;publicvoidsetPoint(inta,intb){x=a;y=b;}publicintgetX(){returnx;}publicintgetY(){returny;}publicStringtoString(){r
5、eturn"["+x+","+y+"]";}}三、定义对象[修饰符]类名对象名;对象名=new类名(实参列表);或[修饰符]类名对象名=new类名(实参列表);定义对象通常包括:声明对象、创建对象和初始化对象三步。1、声明、创建对象类名对象名;PointthePoint;注意:类属于复合数据类型,因此,在声明对象时,系统并没有为对象分配空间,用户需要应用new完成分配空间的任务。thePoint=newPoint();2、引用对象引用成员变量对象名.成员变量名引用方法对象名.方法名(参数列表)publicclassCircle{floatr;finaldoublePI=3.14159265
6、;publicvoidsetR(floatx){r=x;}publicdoublearea(){returnPI*r*r;}publicdoubleperimeter(){return2*PI*r;}publicstaticvoidmain(String[]args){doublex,y;Circlecir=newCircle();cir.setR(12.5f);System.out.println("圆的面积为:"+cir.area()+"圆的周长为:"+cir.perimeter());}}classPoint{privateintx,y;publicvoidsetPoint(in
7、ta,intb){x=a;y=b;}publicintgetX(){returnx;}publicintgetY(){returny;}publicStringtoString(){return"["+x+","+y+"]";}publicdoubledistance(Pointa){returnMath.sqrt((a.getX()-x)*(a.getX()-x)+(a.getY()-y)*(a.getY()-y));
此文档下载收益归作者所有