对象与类java基础第6章.ppt
《对象与类java基础第6章.ppt》由会员分享,可在线阅读,更多相关《对象与类java基础第6章.ppt(46页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、对象与类对象与类本章目标本章目标n类和对象的概念类和对象的概念n使用现有类使用现有类n自定义类型自定义类型n对象的内存模型对象的内存模型n方法的重载方法的重载nstaticn单例模式单例模式面向对象面向对象n举例说明举例说明n把大象放冰箱n面向过程面向过程n关心怎么做,即具体的实现步骤、实现细节n第一步把冰箱门开开、第二步把大象装冰箱、第三步把冰箱门带上n面向对象面向对象n关心这个步骤涉及几个对象,每个对象都能做什么。至于怎么做封装在类内部的方法中(方法是面向过程的,由类设计者关心),使用者是不用关心细节的,只关心做什么即可。n需求涉及大象和冰箱,要把大象放冰箱。n面向对象好处面向对象好处n使
2、用者不用关心任务的实现细节,便于理解和使用,同时提高了程序的可读性、可维护性、可重用性,便于大型软件的开发,解决了面向过程开发引起的软件危机。面向对象的设计思想面向对象的设计思想n面向对象的基本思想是,从现实世界中客观存在面向对象的基本思想是,从现实世界中客观存在的事物(对象)出发来构造软件系统,并在系统的事物(对象)出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式(对象的构造中尽可能运用人类的自然思维方式(对象和对象之间是有关系的)和对象之间是有关系的)n面向对象更加强调运用人类在日常的思维逻辑中面向对象更加强调运用人类在日常的思维逻辑中经常采用的思想方法与原则,如抽象、分类
3、、继经常采用的思想方法与原则,如抽象、分类、继承、聚合、多态等承、聚合、多态等对象和类的概念对象和类的概念n对象:是用计算机语言对现实世界中客观存在的对象:是用计算机语言对现实世界中客观存在的具体事物的描述,对象通过具体事物的描述,对象通过“属性属性”和和“操作操作”来分别对应该事物所具有的来分别对应该事物所具有的“属性属性”和和“行为行为”。万物皆对象万物皆对象n类:是具有相同属性和相同操作的对象的集合,类:是具有相同属性和相同操作的对象的集合,类中定义了这一类对象应该具有的属性和行为,类中定义了这一类对象应该具有的属性和行为,它是对象的抽象。它是对象的抽象。n类可以看成一类对象的模板,是一
4、个概念。对象类可以看成一类对象的模板,是一个概念。对象是类的一个具体实例,是具体的实现。是类的一个具体实例,是具体的实现。类图简介类图简介n使用类图描述类使用类图描述类n用于分析和设计“类”n直观、容易理解+name:String+health:int+love:int+strain:StringDog+print():void“+”:public“-”:private类名类名返回值返回值类型类型类型类型属性名属性名参数:参数:名字名字:类型类型,名字名字:类型类型方法名方法名对象和类对象和类类之间的关系类之间的关系n类之间的关系包括:关联、泛化、依赖、实现类之间的关系包括:关联、泛化、依赖、
5、实现n关联关系又有两个特例:组合和聚合关联关系又有两个特例:组合和聚合对象关系泛化关联依赖集合一般组合聚合类类(对象对象)之间的关系之间的关系1n关联关系关联关系(has a)n客观世界中的两个具体事物存在着千丝万缕的联系,所以我们把两个事物抽象到软件系统中时,两个类(对象)必然也存在一些联系,这种联系在面向对象编程中叫做关联关系n关联有方向性n如果一个类单方向地访问另一个类,则被称为单向关联;如果两个类都可以互相访问,则称为双向关联n单向关联用 类A类B表示,表示类A能访问类Bn双向关联用 符号表示n关联具有多重性n1:1、1:N、M:N类类(对象对象)之间的关系之间的关系1n关联包括两个特
6、例关联包括两个特例n聚合n表示整体和部分的关系,但部分可以属于多个整体n聚合用空心菱形表示,空心菱形一端表示整体n组合n表示整体和部分的关系,但该部分只能属于一个整体n组合用实心菱形表示,实心菱形一端表示整体类类(对象对象)之间的关系之间的关系2n泛化(继承)关系泛化(继承)关系(is-a)n一般和特殊的关系n子类 is-a 特殊的父类类类(对象对象)之间的关系之间的关系4n依赖关系依赖关系n如果类B的改动会导致类A的改动,则类A依赖于类B。n和关联关系比,依赖关系表述的两者之间的关系比较弱,常表现为局部变量、方法参数、静态方法调用。类类(对象对象)之间的关系之间的关系3n实现关系实现关系n现
7、实世界中可以定义一组规范(属性、行为),并对规范进行具体实现,比如计算机主板上的USB接口就是一种规范,不同厂商的鼠标实现这种规范才能够使用,同样软件系统中也有这种关系,叫做实现关系。内容进度内容进度n类和对象的概念类和对象的概念n使用现有类使用现有类n自定义类型自定义类型n对象的内存模型对象的内存模型n方法的重载方法的重载nstaticn单例模式单例模式使用现有类使用现有类nJava API提供了一些现成的类供我们使用,我们提供了一些现成的类供我们使用,我们可以使用这些现有类来创建实例(对象),比如可以使用这些现有类来创建实例(对象),比如nStringnObjectn包装类Integer、
8、Longn集合类等等n使用现有类创建对象使用现有类创建对象n类名 对象引用变量名=new 类名();nString s1=new String(“Hello,World”);nObject o=new Object();内容进度内容进度n类和对象的概念类和对象的概念n使用现有类使用现有类n自定义类型自定义类型n对象的内存模型对象的内存模型n方法的重载方法的重载nstaticn单例模式单例模式类的定义类的定义n除了使用现有除了使用现有API提供的类库,我们也可以自定义类提供的类库,我们也可以自定义类n之前我们说过类是具有相同属性和相同行为的对象集合,属性之前我们说过类是具有相同属性和相同行为的对
9、象集合,属性就是成员变量,行为就是方法,所以就是成员变量,行为就是方法,所以n类的定义主要有两方面组成类的定义主要有两方面组成n成员变量n方法n格式格式nclass 类名/成员变量定义;/方法定义;n约定俗称的命名规则约定俗称的命名规则n类名的首字母大写n变量名和方法名的首字母小写n采用骆驼命名标识类的定义类的定义n成员变量定义成员变量定义n修饰符 type 属性名=默认值;private/public int id=123;n可分为实例变量和类变量(也叫静态变量)n实例变量隶属于对象本身,不用static修饰,每个对象拥有自己独立的实例变量n类变量隶属于类,用static修饰,该类的所有对象
10、共用n方法定义方法定义n修饰符 修饰符 返回值 方法名(参数列表)代码块;npublic int getId()return id;演示示例演示示例1:Person类定义类定义封装封装n为什么使用为什么使用n对于属性信息隐蔽,安全n例如学生的性别不能修改,不能让用户访问学生对象的性别属性,这时使用private访问控制修饰符修饰sex变量,把sex变量封装到类的内部,只有类的内部可以访问n对于方法对外提供接口,屏蔽内部实现细节,便于理解和使用n如果用户想查看学生对象的性别,这时需要该类提供一个对外的public方法,通过方法进行访问,该方法叫做getter方法n如果是其他允许修改的属性,可提供
11、另一个访问对其进行修改,该方法叫setter方法n良好的封装良好的封装n使用private对属性进行封装,从而保护信息的安全;使用public修饰方法,使方法可以让外界调用n封装怎么用封装怎么用n把属性私有化,提供一对共有的方法(getter/setter)访问私有属性。课堂练习课堂练习1:Studentn训练要点:训练要点:n掌握类的定义方式n掌握类的基本组成(成员变量、方法)n需求说明需求说明n定义一个学生类n成员变量【学号sno,姓名name,年龄age】n方法 【对每个属性的存取方法】对象的创建对象的创建n使用使用new关键字创建对象关键字创建对象n格式格式n类名 对象的引用变量=ne
12、w 类名();n举例说明举例说明nPerson p1=new Person();n同一个类的每个对象有不同的存储空间同一个类的每个对象有不同的存储空间nPerson p2=new Person();栈 堆p1 *person对象idname0nullp2 *person对象idname0null对象的使用对象的使用n访问对象的成员变量访问对象的成员变量n对象(引用).成员变量名n使用封装以后就没有该调用方式了。n调用对象的方法调用对象的方法n对象(引用).方法名(参数列表)n同一类的每个对象共享该类的方法演示示例演示示例2:对象的创建和使用对象的创建和使用课堂练习课堂练习2:Studentn训
13、练要点:训练要点:n掌握使用new关键字创建对象n掌握如何访问对象的属性、和调用对象的方法n需求说明需求说明n通过setter/getter方法设置自己的学号、姓名、年龄,然后打印出来n通过访问属性的方式设置自己的学号、姓名、年龄,然后打印出来(实际工作中不推荐用这种方式,违反封装性)自定义方法自定义方法nJava的方法类似于其他语言的函数,是一段用来完成特定功能的代码的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,声明格式片段,声明格式n修饰符1,返回值类型 方法名(形参列表)代码块;n形式参数:形式参数:在方法被调用时用于接收外界输入的数据n实参:实参:调用方法时实际传给方法
14、的数据n返回值:返回值:方法在执行完毕后返还给调用它的环境的数据n返回值类型:返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型 voidnJava语言中使用下述形式调用方法:语言中使用下述形式调用方法:对象名.方法名(实参列表)n实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配nreturn语句终止方法的运行并指定要返回的数据n注意:注意:Java中进行函数调用中传递参数时,遵循中进行函数调用中传递参数时,遵循按值传递按值传递的原则,的原则,实质就是二进制位的对拷,实质就是二进制位的对拷,基本类型变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对象 java 基础
限制150内