欢迎来到天天文库
浏览记录
ID:46570237
大小:462.00 KB
页数:43页
时间:2019-11-25
《第06章 对象和类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章对象和类学习目标理解对象和类,用类建立对象模型学习如何定义类和创建类的对象理解构造方法的作用,并使用构造方法创建类的对象使用UML图形符号来描述类和对象区分对象引用变量和基本数据类型变量使用Java类库中的类类的封装、永久类、永久对象、对象参数类的静态成员、变量的作用域this、对象数组类的抽象、内部类2面向对象技术6.1引言面向过程程序设计中,数据与对数据的操作是分离的。数据结构ACBf(1)f(2)f(3)f(4)…DBMS3面向对象技术6.1引言面向对象程序设计把数据和属于它们的操作放入称
2、为“对象”的整体中。F(1)F(2)…对象方法数据4面向对象技术6.2对象和类对象的状态(State)由具有当前值的数据域(datafield)的集合组成.对象的行为(Behavior)是方法(method)的集合定义的.对象(Object)代表现实世界中可以明确标识的一个整体.数据域1数据域m……方法1方法n……(a)一般对象状态(属性)行为radius=5findArea()(b)圆对象的例子状态(属性)行为5面向对象技术6.2对象和类类(class)是定义同一类型对象的结构.类的数据描述属性.类
3、的方法定义行为.构造方法,调用它创建类的对象.classCircle{/**Theradiusofthecircle*/doubleradius=1.0;/**Constructacircleobject*/Circle(){}/**Constructacircleobject*/Circle(doublenewRadius){radius=newRadius;}/**Returntheareaofthiscircle*/doublefindArea(){returnMath.PI*radius*ra
4、dius;}}数据域构造方法方法注意:该类没有main方法,不能直接运行,仅用于声明和创建Circle对象.6面向对象技术6.3使用构造方法创建对象构造方法是一种特殊方法,与一般方法有3点不同:构造方法必须与所在的类有相同的名字.构造方法必须没有返回类型,甚至连void也没有.构造方法的调用是在创建一个对象时使用new操作符进行的.构造方法的作用是初始化对象.一个类可以有多个构造方法,通过方法重载实现.当类中没有明确声明构造方法时,隐含声明一个方法体为空的无参构造方法,称为“默认构造方法”.构造方法的
5、调用语法:new构造方法名(参数);7面向对象技术6.3使用构造方法创建对象创建Circle对象的例子:newCircle();//创建一个半径为1.0的圆对象newCircle(5.0);//创建一个半径为5.0的圆对象Circleradius:doublefindArea():doubleCircle1:Circleradius=1.0Circlen:Circleradius=5.0…newCircle()newCircle(5.0)类的UML符号对象的UML符号8面向对象技术6.4通过引用变量来
6、访问对象intxintyvoidsetPoint(){…}voidshowPoint(){…}为Point类创建一个对象新创建的对象在内存中占用一定的空间.如何访问对象呢?9面向对象技术6.4.1引用变量和引用类型引用变量用来访问对象,该变量存储对象的引用地址.引用变量的初始值为NULL.声明引用变量(referencevariable)的语法:类名对象引用变量名;引用类型(referencetype)是由类定义的类型.任何类型为类的变量都能引用该类的一个实例.例如:CirclemyCircle;//
7、声明一个Circle类型的引用变量myCircle=newCircle();//该变量引用一个新建对象10面向对象技术6.4.1引用变量和引用类型引用变量与其引用的对象的关系.PointaPoint=newPoint(1.0,1.0);…intxintyvoidsetPoint(){…}voidshowPoint(){…}0FF1DC080FF1DC08引用变量aPointPoint对象11面向对象技术6.4.2访问对象的数据和方法objectRefVar.data------访问对象的数据objec
8、tRefVar.method------访问对象的方法使用成员运算符“.”访问对象的数据和方法:例如:CirclemyCircle=newCircle(6.0);myCircle.radius----引用myCircle的半径myCircle.findArea()----调用myCircle的方法注意:radius称为“实例变量”;findArea()称为“实例方法”.实例变量(方法)依赖于类的一个具体实例,只能通过对象引用访问.12面向对象技术6.4.
此文档下载收益归作者所有