书签 分享 收藏 举报 版权申诉 / 44
上传文档赚钱

类型Java程序设计及应用开发第4章-封装与类课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3514730
  • 上传时间:2022-09-10
  • 格式:PPT
  • 页数:44
  • 大小:1.52MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Java程序设计及应用开发第4章-封装与类课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Java 程序设计 应用 开发 封装 课件
    资源描述:

    1、利用数据抽象和数据隐藏技术创建类创建和使用对象对属性和方法进行访问方法的重载构造方法及其使用this引用的用法static方法和属性的使用类的组合方法包的创建和使用面向过程的程序设计中,问题被看作一系列需要完成的功能模块,函数(泛指高级语言实现功能模块的实体)用于完成这些任务,解决问题的焦点是编写函数,函数是面向过程的,它关注如何依据规定的条件完成指定的任务。在多函数程序中,许多重要的数据被放置在全局数据区,这样它们可以被所有的函数访问(每个函数还可以具有它们自己的局部数据),这种数据和对数据的操作相分离的结构很容易造成全局数据在没商量的情况下被改动,因而程序的正确性不易保证。面向对象的程序设

    2、计将数据和对数据的操作行为封装在一起,作为一个相互依存、不可分割的整体-类。类中的大多数数据只能为本类的行为使用,类会提供公开的外部接口与外界进行通信。类是抽象的数据类型,用类创建对象。程序的执行,表现为一组对象之间的交互通信。对象之间通过公共接口进行通信,从而完成系统功能。面向对象的程序模块间关系简单,程序的独立性高、数据安全。面向对象的显著特点包括:封装性、继承性和多态性。封装:把对象的属性和操作结合为一个独立的整体,并尽可能隐藏对象的内部细节。“封装”的两个含义 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独立单位 实现“信息隐蔽”,尽可能隐藏对象的内部细节,对外界形成一个边

    3、界,只保留有限的外部接口与外界进行联系。类作为一个抽象的数据类型,用来描述相同类型的对象。面向对象编程就是定义这些类。“抽象”是面向对象设计中的重要环节。面向过程程序设计:自顶向下,逐步求精面向对象设计:从设计类开始,然后向类中添加方法面向对象的思维方式:以对象为中心,分析对象的行为、状态,抽取出类的设计。有一个酒店,酒店有若干客房,向客户提供查询、有一个酒店,酒店有若干客房,向客户提供查询、入住、退房等功能。入住、退房等功能。名词对象动词对象的行为酒店酒店 客房客房 客户客户查询查询入住入住退房退房1定义类的语法格式类的修饰符 class 类名 extends 父类名 /类体【例4-1】定义

    4、一个酒店类Hotel。(1)类的访问控制符(2)数据成员(成员变量):记录对象性质和状态的变量(3)数据成员的set和get方法(4)构造方法1.数据成员 修饰符 数据类型 成员名=默认值;例:privateprivate String hotelName;privateprivate String rooms;数据类型关键字缺省数值布尔型booleanfalse字符型charu0000字节型byte0短整型short0整型int0长整型long0浮点型float0.0F双精度型double0.0D引用类型类、接口null2.方法一般是对类中的数据成员进行操作数据访问公共接口:如果类中的数据成

    5、员是private型的,则往往定义public的方法来设置数据成员的值或读取数据成员的值3.构造方法 构造方法名与类名相同 构造方法一般用于初始化类的对象 创建类的对象时,new运算符为该对象分配内存,并调用构造方法来初始化该对象如果一个类中未定义构造方法,则编译时系统会自动提供一个缺省的无参的构造构造方法,其方法体为空。public 类名()至少写一个无参的构造方法this 区分成员变量和方法的局部变量this()调用本类的其他构造方法对象是类的一个实例 类是抽象的,对象是具体的 酒店:类 某个酒店:对象对象:通过new关键字调用某个构造方法创建,为该对象分配内存空间,并按照构造方法的方法体

    6、对对象的数据成员赋初值,创建好的对象在堆内存中。引用:Java不允许直接访问堆内存中的对象,只能通过对象的引用变量操作该对象,引用变量在栈内存中【例】酒店问题中的对象和引用。垃圾回垃圾回收收机制机制this:代表一个引用,指向正在调用该方法的当前对象。hotel.setHotelName(MiniStarwood);publicpublic voidvoid setHotelName(String hotelName)thisthis.hotelName=hotelName;【例4-2】设计swap()方法交换两个Hotel的对象。交换引用变量【例4-2】设计swap()方法交换两个Hotel

    7、的对象。交换引用变量指向的数据当在类中声明一个成员时,可以指定它是为一个类的各个对象各自拥有(实例成员),还是为一个类的所有对象共享(类范围的成员)。类范围的成员称为静态成员,以关键字static声明。static数据成员:为类的对象所共享的数据static方法:工具方法,不必创建对象直接使用类名即可调用。Math.PIMath.random()Math.sin()虽然static成员也可以通过对象来引用,但是,绝对不鼓励这个方式。强烈建议使用类名类名.成员成员的形式进行存取,以区别于非static成员。在static方法中不允许使用非static成员在非static方法中既可以使用非stat

    8、ic成员,也可以使用static成员生命周期【例4-3】定义含有static数据成员的Person类。publicpublic classclass Person publicpublic staticstatic String nationalitynationality=Chinese;/static成员 private private String name;/非static成员publicpublic staticstatic String getNationality()returnreturn name+:+nationality;/static方法访问非static成员,报错报错

    9、publicpublic staticstatic voidvoid setNationality(String nationality)/static方法访问static成员Person.nationality=nationality;publicpublic voidvoid sayHello()/非static方法可以引用static成员System.out.println(hello,+nationality+!);publicpublic staticstatic voidvoid main(String args)newnew Person().sayHello();/创建Pers

    10、on类的匿名对象调用sayHello方法【练习】编写一个学生类,包括学号、姓名、性别、年龄和记录学生总数的数据成员。(1)编写合理的重载构造方法。(2)编写各数据成员的set、get方法。(3)在测试类中创建学生数组存储学生对象,打印数组中每个学生的信息和当前学生总数。数据成员/局部变量?数据成员:属于每个对象/属于类?方法局部变量/代码块局部变量?数据成员存在于堆内存中,其释放由Java的垃圾回收机制控制),导致更大的内存开销;同时也扩大了变量的作用域,使程序的内聚性降低(软件设计的基本原则是高内聚、低耦合)代码段1:publicpublic classclass TestScope1 st

    11、aticstatic intint i;/定义一个类数据成员作为循环变量publicpublic staticstatic voidvoid main(String args)forfor(i=0;i10;i+)System.out.println(i);【例4-4】变量的使用规则示例。代码段2:publicpublic classclass TestScope2 publicpublic staticstatic voidvoid main(String args)intint i;/定义一个方法局部变量做循环变量forfor(i=0;i10;i+)System.out.println(i)

    12、;代码段3:publicpublic classclass TestScope3 publicpublic staticstatic voidvoid main(String args)forfor(intint i=0;i d:java_source javacjavac d .Hotel.java d .Hotel.java参数1“-d”:指定编译时在文件系统中创建与包对应的文件夹结构,必须使用。参数2:指定类文件(包结构+class文件)的存储位置。该参数由程序设计者按需指定。参数3:指定被编译的源文件。一定要保证按照路径可以找到被编译的源文件。2执行 完整的类名:包名.类名 执行cla

    13、ss文件 在当前路径下可以按照包名结构找到被执行的类文件 必须使用完整的类名组合关系:“has a”,一个类的成员可以是其他类的引用。“HAS-A”关系体现了OO设计中类的专属性,类的专用化程度越高,在其他应用中就越可能被复用,OO设计不提倡用单独的类来完成大量不相关的操作。组合是OO设计中大量存在的类间关系。Course-courseName:String-courseHour:int+Course()+Course(courseName:String,couseHour:int)+setCourseName(courseName:String):void+getCourseName():S

    14、tring+setCourseHour(courseHour:int):void+getCourseHour():intStudent-name:String-grade:int-courses:Course+Student()+setName(name:String):void+getName():String+setGrade(grade:iint):void+getGrade():int+setCourses(courses:Course):void+getCourse():Course+getHours():int+showMessage():voidClient+main(args:String):void

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Java程序设计及应用开发第4章-封装与类课件.ppt
    链接地址:https://www.163wenku.com/p-3514730.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库