Java程序设计基础 课件 第5章 Java类与对象.pptx

Java程序设计基础 课件 第5章 Java类与对象.pptx

  1. 1、本文档共51页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第五章Java类与对象;

5.1面向对象编程基础;

(3)易维护:采用面向对象思想设计的结构可读性高,继承的存在增加了代码的复用性,即使改变需求,维护也只是在局部模块,方便且成本较低。

(4)易扩展:通过继承、多态等技术减少冗余代码,并易于扩展现有代码,即在标准的模块上构建程序,而不必一切从头开始,从而提高了编程效率。;

2.面向对象编程的三大特征

(1)封装。封装即把对象的属性和方法封装成一个独立的单位,并隐蔽对象的内部细节。这主要体现为两方面内容:

①封装体:把对象的属性和方法结合在一起,形成一个不可分割的独立单位。

②信息隐蔽:可以通过访问控制符来控制信息对外的公开程度,对象的使用者只是通过预先定义的接口关联到某一对象的行为和数据,而不知道其内部细节。;

(2)继承。继承是在已有的类的基础上进行扩充、改造,得到新的数据类型,可以实现程序的代码复用,它是存在于面向对象程序中的两个类之间的一种关系:当一个类获得另一个类中所有非私有的成员属性和行为时,就称这两个类之间具有继承关系。被继承的类称为父类或超类,继承了父类或超类的属性和行为的类称为子类。

(3)多态。在继承的基础上,某些类的方法只有在程序运行过程中才能看出具体表现出来的行为,称之为多态性。多态性是增强程序扩展性、可维护性的重要手段和技术。;

5.2类与对象;

程序设计所面对的问题域——客观世界是由许多事物构成的,这些事物既可以是有形的(比如一个学生、一张桌子),也可以是无形的(比如一次购买、一次会议),把客观世界中的事物映射到面向对象的程序设计中就是对象,对象是面向对象程序设计中用来描述客观事物的程序单位。客观世界中的许多对象,无论是其属性还是其行为常常有许多共同性,抽象出这些对象的共同性便可以构成类,所以类是对象的抽象和归纳,对象是类的实例。;

Java中的类被认为是一种自定义数据类型,C语言中则可以使用已有的类型作为自定义结构体类型的成员,从而生成新的结构体类型;但??C语言中的结构体类型只是封装了成员变量,Java中的类除封装了成员变量外,还封装了成员方法,由类可以定义具体的实例——对象,每个对象具有自己的成员变量和成员方法。;

5.2.2类的结构与定义

1.学生属性(field)

在学生类众多的属性中,程序设计时有些属性是必要的,如学生的学号、姓名、性别,有些属性就需要根据程序的上下文(软件的需求)进行取舍,比如软件主要用于处理学生的成绩,那么学生的籍贯、身高、爱好、体重、外貌、习惯、特长等等这些属性就可以不用设计到学生类中,这些属性对应到类的结构中,就称为成员变量。;

2.学生行为(method)

真的需要将现实世界中学生的行为设计到学生类中吗?吃饭、学习、睡觉、跑步、游泳等等行为就算想在程序中实现,也很难设计到学生类中(在一些特定的软件环境中可能真的需要对这些行为进行程序实现,比如3D游戏)。大多数情况下对于学生类行为设计指的是方法(函数)的定义,对应学生类结构中的成员方法,这些成员方法主要是对学生类数据进行处理,比如显示学生的信息、获取学生的年龄、修改学生的成绩、求学生成绩的平均值等等,它们代表了学生类中提供的功能和服务,并不真的需要实现现实世界中学生的动态行为。;

3.构造函数(Constructor)

学生类中有一类特殊的函数,用于构造出学生类的实例,即具体的学生对象(如名叫张三的学生),这类函数被称为构造函数,在构造学生对象的时候使用new来调用。构造函数的作用是生成学生类对象,在函数中一般是对学生属性进行初始化。如果一个构造函数什么也不做,那生成的学生实例就类似一张白纸,只表示有这么一个学生,但是学生的各个属性没有值。

;

上述内容定义一个学生类的主要结构,如图5-1所示。;

(1)定义一个学生类使用class关键字,如:

publicclassStudent1{

}

该类的名字Student1要与文件名Student1.java一致,花括号{}之间是类的定义。

(2)该类有五个成员变量,对应学生类的五个属性,即学号、姓名、性别、分数1、分数2。对每个属性需要定义属性的类型,比如学号的类型可以是int,也可以是String,这需要根据学生的学号取值来定。如果学号全是整数,可以使用int,也可以使用String;如果有其它字符,就只能使用String。

;

(3)成员变量还有一些其它的修饰符,如访问控制符,静态修饰符static,终态修饰符final等,会在后面具体说明。

(4)该类具有一个空的构造函数(目前暂时不用,具体在后面进行说明),使用new来调用该函数能够生成一个St

文档评论(0)

lai + 关注
实名认证
内容提供者

精品资料

版权声明书
用户编号:7040145050000060

1亿VIP精品文档

相关文档