欢迎来到天天文库
浏览记录
ID:40238745
大小:1.00 MB
页数:103页
时间:2019-07-28
《Java程序设计 焦玲 JAVA课件--第四章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章Java语言面向对象程序设计本章重点学习面向对象的编程思想,核心概念是类和对象;掌握类和对象的关系;掌握Java语言中类的定义以及围绕类中关于成员变量和方法的引用;掌握对象的引用以及关于对象的相关操作;掌握组成Java程序的类之间的关系,包括类的封装、多态和继承以及接口、包的使用。4.1面向对象程序设计基础4.1.1面向对象概念由于面向对象方法已经发展到计算机科学技术的许多领域,所以若想从一般意义上给出严格而清晰的定义,使之对这些领域都能使用,是一件很困难的事情。针对我们这本书讨论的是Java程序设计,所以我们可以这
2、样来描述面向对象。面向对象是一种新兴的程序设计方法,或者它是一种新的程序设计范型,其基本思想就是使用对象、类、继承、封装、消息等基本概念来进行程序设计。Java是一个面向对象的程序设计语言,我们在前面所看到的每一个例题都使用了关键字“class”,它就是面向对象程序设计方法中所使用的“类”。作为程序设计人员,我们需要从现实生活中抽象出类和对象,然后将类和对象应用到我们的编程中来解决实际问题。4.1.2类与对象的概念1、类的概念将具有共同特征和行为的对象归为一个“类”,如现实生活中的“汽车”类、“动物”类、“人”类等。例如现
3、实生活中的商品(即对象)具有共同的特征:编号、名称、单价和货架数量,以及共同的行为:售出、补充、价格更新等。在面向对象程序设计中,将类的特征和行为分别命名为属性和方法。例如:定义“商品”这样一个类,包含有:属性:编号、名称、单价、货架数量classcommodity方法:售出、补充、价格更新定义商品类中的属性和方法的程序代码如下:classcommodity{charnumber;//编号Stringname;//名称floatprice;//单价doubleamount;//货架数量voidsale();//售出void
4、supply()//补充voidupdate()//价格更新}2、对象的概念我们可以把生活所在的真实世界看作是由许多大小不同的对象所组成的。对象可以是有生命的个体,比如一个人或一只鸟。对象也可以是无生命的个体,比如一辆汽车或一台计算机。对象也可以是一件抽象的概念,如天气的变化或鼠标所产生的事件。类实例化就成为对象,所以对象也有两个特征:状态和行为。例如:一个人有他的身高或体重作为状态,并有他的行为——如吃饭、睡觉、工作、学习。在程序设计中,对象的概念由真实世界对象而来。对象将状态保存在变量里,而行为则借助方法来实现。总之,
5、类是对对象的抽象,但是类不能完全体现出每一个对象的状态,因为有的对象具有“特性”,我们可以通过继承(见4.2.2)来对类增加新的属性和方法。汽车类对象对象抽象为类类实例化为对象4.1.3类的实现然而在实际的编程过程中,我们该如何的去描述一个类以及类中的对象呢?在Java语言中,用户可以自己定义一个类。类作为复合数据类型,其实现包括两部分内容:类声明和类体。格式如下:[import包][类修饰符]classxxxclass[extends超类]〔implements接口〕//类声明{//从这里开始为类体部分//类变量//实例
6、变量//构造函数//类方法//实例方法//类体部分结束}说明:import包:引入包中的类。类修饰符:主要有四个修饰符,public、abstract、final、private。class为关键字,xxxclass为类名,命名遵循Java标识符的命名规则。extends为继承关键字,implements为接口关键字。(见4.2和4.4)类体是类声明中用大括号所括起来的部分,它包括变量和方法,是类的主体部分。【例4.1】定义一个学生类打开源文件【程序解析】在公共类Students中,类的主体部分包括私用变量name、nCl
7、ass,以及三个成员方法。整个类用大括号“{}”括起来。1、类的修饰符在类的声明中,我们经常要用到上述的4个修饰符,我们分别来看看这些修饰符的用法。类修饰符:publicpublic提供给其他类完全的存取权限。也就是说在同一包中的类可自由取用此类,而别的包中的类可通过import关键词来引入此类所属的包加以运用。一个用public修饰符修饰的类具有以下几个特性:一个程序里只能有一个类被修饰为public,否则编译会出错。存储源文件时,必须是用public修饰的类名(xxxClass)来命名。若程序中没有任何public类,
8、则文件名可任取。而如果文件名是程序中的一个类名,则该类被视为public。类修饰符:finalfinal表示此类为“最终”类,别的类不能继承此类,其方法也不能被覆盖。例如System类即为final类,publicfinalclassSystemextendsObject我们可以使用该类,但不能继承并覆
此文档下载收益归作者所有