欢迎来到天天文库
浏览记录
ID:48049861
大小:280.50 KB
页数:53页
时间:2020-01-13
《java课件第6章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章类和对象面向对象程序设计面向对象程序设计(ObjectOrientedProgramming,OOP)是一种基于对象概念的软件开发方法,是目前软件开发的主流方法。类是数据及对数据操作的封装体,类具有封装性。封装性是面向对象方法的基础。对象与类的关系就像变量和数据类型的关系一样。6.1类和对象概述6.2类的封装6.1类和对象概述在面向对象技术中,将客观世界中的一个事物作为一个对象看待。每个事物都有自己的属性和行为。从程序设计的角度,事物的属性可以用变量描述,行为用方法描述。类只定义属性和行为的模板,对象是类的实例,对象与类的关系就像变量和数
2、据类型的关系一样。面向对象的基本概念:对象与类简单地说:对象是表示现实世界中某个具体的事物;类是对对象的抽象描述。抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程。张三类(CLASS)如:“manclass”对对象进行抽象为类对类进行实例化对象的含义对象具有两方面的含义:在现实世界中:是客观世界中的一个实体在计算机世界中:是一个可标识的存储区域类(class)的概念类:是一种抽象的数据类型,它是所有具有一定共性的对象的抽象。本质上可以认为是对对象的描述,使创建对象的“模板”。类的某一个对象则被称为是类的一个实例,是类的实例化结果。是类的
3、“”对象类实例化抽象对象(object)计算机世界中的对象是把数据及其相关的操作封装在一起所构成的实体。封装的实体=数据+方法(行为)数据:属性或状态方法:作用于数据上的操作封装:属性的访问和变化通过方法完成类的声明[修饰符]class类名[extends父类名][implements接口名列表]{类成员变量声明部分;类方法声明部分;}Java实例——定义类(例6-1)classPoint{privateintx,y;publicvoidsetPoint(inta,intb){x=a;y=b;}publicintgetX(){returnx;}
4、publicintgetY(){returny;}publicStringtoString(){return"["+x+","+y+"]";}}[修饰符]类名对象名=new类名(实参列表);或[修饰符]类名对象名;对象名=new类名(实参列表);对象的创建和使用创建对象PointthePoint;注意:类属于复合数据类型,因此,在声明对象时,系统并没有为对象分配空间,用户需要应用new完成分配空间的任务。thePoint=newPoint();对象的引用引用成员变量对象名.成员变量名引用方法对象名.方法名(参数列表)Java实例——创建对象续接
5、Java实例-定义类publicclassPointExcise{publicstaticvoidmain(Stringargs[]){PointthePoint=newPoint();thePoint.setPoint(3,5);//调用其成员方法//thePoint.x=3;//引用其成员变量//thePoint.y=5;//引用其成员变量System.out.println("坐标x="+thePoint.getX());System.out.println("坐标y="+thePoint.getY());System.out.print
6、ln(thePoint.toString());}}构造方法和对象的初始化类中有一种特殊的成员方法,其方法名与类名相同,称为构造方法。当使用new运算符实例化一个对象时,系统为对象创建内存区域并自动调用构造方法初始化成员变量。构造方法的特点构造方法名与类名相同;构造方法没有返回值,没有返回类型,也不是void;构造方法的主要作用是对类对象的初始化。如果没有定义构造方法时,各种类型的默认值;构造方法不能由编程人员显式地直接调用;一个类中可以定义多个构造方法,但各构造方法的参数表不能相同,即各构造方法的参数个数不同或参数类型不同。构造方法的说明构造
7、方法是对类进行初始化的特殊方法,如果没有构造方法,就要使用其他方法对对象的成员变量进行初始化操作,而构造方法就简化了此操作。使用new操作符创建对象时,在类名后的参数表中根据需要给出相应的参数,系统会自动根据参数的多少和类型去调用对应的构造方法。构造方法与其他成员方法的不同之处作用不同:构造方法仅用于实例化对象,对成员变量进行初始化;成员方法用于对成员变量进行多种操作。调用方式不同:构造方法通过new运算符调用;成员方法通过对象调用。例6-3定义Triangle类并定义它的构造方法,通过构造方法对Triangle类对象进行初始化操作public
8、classTriangle{intx,y,z;publicTriangle(inti,intj,intk){x=i;y=j;z=k;}publicst
此文档下载收益归作者所有