- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java0331
Chapter 9 Objects and Classes面向对象编程的基本概念面向对象编程(Object-oriented programming, OOP) 是以对象为基本单位来搭建程序的编程方法。术语对象(object)指的是实体(entity),例如学生,桌子,圆,按钮。对象具有唯一的标识,状态和行为。对象状态由一组数据域data fields(或属性properties)构成,对象的行为behavior则是由一组方法构成。对象是由类创建的,类定义了对象的数据域和方法举一个圆对象作为例子一个对象有状态和行为。如上图,状态就是半径,行为则有三个:求面积,求周长,设置半径。作为类模版Circle而言,它只是一个概念,仅作为定义使用。下面三个才是真正的对象。类Java用class来定义对象的概念,是同类型对象的总称。它本身不是实体,只是一个笼统的概念。例如学生这个概念,只有具体到某一个学生上,才能称为实体。Java使用成员变量来定义对象的数据域,使用成员方法来定义对象的行为。 此外,Java的类还提供了一些特殊的方法,称为构造方法,用来创建具体的对象实体。圆对象的Java编程实现用Unified Modeling Language (UML)表示Circle类UML是一种面向对象的建模语言,它运用统一的、标准化的标记和定义实现对软件系统进行面向对象的描述和建模。例题:定义一个类,并创建对象学习目标:如何创建一个对象,访问对象的数据,使用对象的方法。先看源代码:程序编译后的结果是:程序的执行结果是:几点说明Java可以在一个源文件中放置多个类,例如上述例子就有两个类。但是只能有一个类是public修饰的,这个类叫主类,main函数总是被放在这个类中。TestSimpleCircle类是一个测试类,它的的功能是用于测试SimpleCircle类,所以它本身除了main函数之外,没有再定义自己的成员变量和方法。其实一个类也可以自己带一个main函数来测试自己,例如改写上一个例子为:左边的代码不全,不过已经可以看到改动的思路:先将SimpleCircle类设为主类,然后再补一个main方法,当然,源文件需要重命名。几个要点复习创建一个对象,用new关键字,例如:SimpleCircle circle1 = new SimpleCircle();SimpleCircle circle2 = new SimpleCircle(25);创建对象之后,可以使用.访问对象成员和对象方法,例如:circle1.radiuscircle2.getArea()对象必须先创建后使用,没有经过new的对象是空对象null,无法使用。再来个例子巩固一下下面是一个电视类的UML图: 测试类及运行结果构造方法构造方法是一种特殊的方法,当对象被创建的时候,构造方法会被自动调用。Circle() {}Circle(double newRadius) { radius = newRadius;}构造方法的写法构造方法的名字必须和类的名字完全相同,包括大小写。构造方法不能有返回类型,甚至连void都不能写,所以不可能出现return语句。 构造方法会在new的时候被自动调用,所以它特别适合用来做对象初始化之类的工作。构造方法经常被重载,所以new的时候可以利用传入的参数,调用不同的构造方法。利用构造方法创建对象new ClassName();例如:new Circle();new Circle(5.0); 默认构造方法如果一个类没有显式定义任何构造方法,Java会隐含定义一个没有形参,方法体为空的构造方法。这个方法称为默认构造方法。例如下面这个类,框出来的部分,如果你不写,Java也会默认偷偷补上(当然不会改动到源代码):class Circle { Circle() { }}对象引用的变量声明为了引用一个对象,必须将对象赋值给一个引用变量。声明一个对象的引用很简单,语法如下:ClassName objectRefVar;例如:Circle myCircle;这个用法其实和以前的变量声明没有区别,例如以前是这样声明一个整型变量:int i;只不过当变量类型变为对象之后,我们把这样的变量叫做引用变量,以和普通变量相区别。声明并创建对象ClassName objectRefVar = new ClassName();例如:Circle myCircle = new Circle();将对象的引用赋值给变量创建对象访问对象访问对象的数据: objectRefVar.data 例如: myCircle.radius调用对象的方法: objectRefVar.methodName(arguments) 例如: myCircle.getArea()单步执行一下声明对象引用
您可能关注的文档
- IQP-纯化水分配系统_20160516.doc
- IS5变频.doc
- IQ金牌大作战之终结篇第六期(八年级上册全).ppt
- IP网络公共广播系统.ppt
- ISO 898-1新旧差距.doc
- IQC检验标准书.doc
- ISO TS 16186-2012 鞋类材料中DMFU测定翻译版.doc
- ISO13485 简介Rev1.1 20071026.ppt
- ISO14001环境意识培训教材.ppt
- ISO9000-2000族标准简明培训教程4.ppt
- 基于ZigBee的塔机无线传感监控系统:设计、实现与应用探索.docx
- 铟钢尺光电检测系统:原理、技术与应用创新研究.docx
- 我国农村小额信贷正规化发展的困境与突破路径研究.docx
- 基于激光超声技术的ASF模式楔形波特性与应用研究.docx
- 新型非平衡态等离子体热电转换系统:原理、构建与关键问题解析.docx
- 酒糟菌糠成分剖析及其对肉鸭免疫与肠道菌群影响的探究.docx
- 钢框架侧板加强型焊接节点断裂性能的多维度剖析与提升策略.docx
- 生物高分子材料与表面活性剂协同构建高性能生物传感器的机理与应用研究.docx
- 金属氧化物_石墨烯复合:解锁锂离子电池负极材料高性能密码.docx
- 构建遥感地表温度分解范式:探索统一理论框架与应用实践.docx
最近下载
- 四川大学数据库系统原理期末考试试题.pdf VIP
- 生猪代养承包协议:2024年新型合作模式版B版.docx VIP
- 2025年西藏自治区社区工作者招聘考试(公共基础知识)历年参考题库含答案详解(5套).docx VIP
- 工商管理本科46-14159商业伦理与企业社会责任模拟题(二).docx VIP
- 工商管理本科46-14159商业伦理与企业社会责任模拟题(一).docx VIP
- 2024宁夏理工学院教师招聘考试真题及答案.docx
- 2024-2025学年广东省广州市越秀区数学六年级第一学期期末达标检测试题含解析.doc VIP
- 52 非线性泛函分析 [郭大钧 编著] 2015年版.pdf VIP
- 01kdv8000a一代软硬件介绍及配置.pdf VIP
- 《农业企业经营与管理》课件——项目四 农业企业的经营.pptx VIP
原创力文档


文档评论(0)