版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务三:保护人的“隐私”程序设计单元二:面向对象程序设计教学目标知识目标封装的概念;属性封装步骤;访问权限的概念和使用。能力目标能够使用封装的概念对程序进行封装操作;能会使用private、public等关键字进行属性设置。教学内容4任务陈述123知识准备任务实施任务拓展任务实训5任务描述:
在现实中,人的年龄和体重都不能小于0;更恐怖的是如果忘记给名字赋值就会成为无名氏。要求使用封装完成对属性的控制,当年龄输出错误时提示出错。运行结果:1.任务陈述2.知识准备2.1封装2.1.1封装的概念封装是一种信息隐蔽技术。它有两个含义:一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中。另一层含义指“信息隐蔽”,把不需要让外界知道的信息隐藏起来,或是有些对象的属性及行为允许外界使用,但不允许更改,而另一些属性或行为,则不允许外界知晓;或只允许使用对象的功能,而隐蔽对象功能实现细节。2.知识准备2.9.2如何实现封装
封装只是为了对类中的属性更好进行控制,因此要实现封装需要属性私有化,这样可以保证属性不会被其他类改动。然后使用公有方法把私有的属性暴露出去,在方法中对属性进行读写控制。一个私有的属性(变量),使用private来声明私有变量。例如:privateStringname;一个公有的读操作访问器,使用getter方法来完成。例如:publicStringgetName(){//方法体}一个公有的写操作访问器,使用setter方法来完成。例如:publicvoidsetName(Stringname){//方法体}【实例2-8】使用封装技术模拟对学生借书的过程,要求学生最多只能借10本书。学生类中只有一个整数型变量count,为书的数量,对count设置时不能大于10,获得count值时不能获得一个负数。2.知识准备2.10Java的修饰符
在定义类中成员变量和成员方法时,都会使用一些修饰符来做出某些限制。修饰符分为访问控制修饰符和非访问控制修饰符。public修饰符
表示公有,可以修饰类、属性和方法。如果使用了public访问控制符,则它被包内其他类、对象以及包外的类和对象方法。private修饰符
只能修饰成员变量和成员方法。若使用private声明的变量和方法则只能由它所在类本身使用,其他的类和对象无权使用该变量和方法。protected修饰符
表示受保护,只能用来修饰成员变量和成员方法,不能修饰类。受保护的变量和方法的访问权限被限制在类本身、包内的所有类和定义它的类派生出的子类(可以在同一个包中,也可以在不同包)范围内。默认(friendly)修饰符
默认访问控制成员可以被这个包中其它类访问,称之为包访问特性。2.知识准备【实例2-8】访问权限实例,在一个类中声明4中不同访问权限的方法,然后分别在包内和包外对着4个方法进行访问。privatevoidpriMethod(),访问权限为私有权限,只能在VisitP中使用;protectedvoidproMethod(),访问权限为受保护,能被类本身和定义它的类的子类访问;publicvoidpubMethod(),访问权限为公有,可以被任何类使用;voidfriMethod(),访问权限为默认(友好),可以被与定义它的类在同一包中的所有类使用。1.实现思路
本任务中要使用包来进行Java程序中类的组织。把需要在一起工作的类放在同一包里,除了public修饰的类能够被所有包中的类访问外,缺省修饰符的类只能被其所在包中的类访问,不能在其包外访问。包这种组织方式把对类的访问封锁在一定的范围,体现了Java面向对象的封装性。打开Eclipse,创建一个包,在包内定义一个类在类的大括号内定义属性,在所有属性定义前都加private关键字在类的大括号内输入private属性的getter()和setter()方法的定义在类的大括号内定义相应的功能方法定义测试类,运行程序。3.任务实施2.程序代码
publicvoidsetAge(intage){ if(age<=0){
System.out.println("年龄出错,使用默认年龄18岁代替");
this.age=18; }else this.age=age; } publicvoidsetWeight(doubleweight){ if(weight<=0.0){
System.out.println("体重出错,使用默认100斤代替"); this.weight=100; }else this.weight=weight; }3.任务实施4.任务拓展构造方法的私有化
方法依实际需要可分为public与private。同样构造方法也有public与private之分。到目前为止,所使用的构造方法均属于public,所以新创建的对象也都可以自动调用它。如果构造方法被设为private,则无法在该构造方法所在的类以外的地方被调用,但也使得该类不能被实例化。publicclassWork{ Stringname; intage;
privateWork(){ name="张三"; age=10; }}publiccla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 盘锦事业单位招聘2022年考试全真模拟试题4套及答案解析(附后)
- 我最喜欢的诗人
- 2026届云南省迪庆州维西县第二中学高三下学期第一次诊断性考试英语试题含解析
- 广东省高州市大井中学2026届高三联合考试数学试题含解析
- 江苏省盱眙县新马中学2026年高三下学期4月考数学试题含解析
- 福建省宁德宁市-同心顺-六校联盟2026届高三3月月考调研考试物理试题含解析
- 广东佛山顺德区2026届高三下学期第一次摸拟试数学试题含解析
- 甘肃省嘉峪关市一中2025-2026学年高考英语试题全真模拟密押卷(三)含解析
- 文化产业政策解读与执行手册(标准版)
- 生态保护与治理技术指南
- 新版人教版二年级下册数学全册教案(完整版)教学设计含教学反思
- 村书记考公务员试题及答案
- T∕CCSAS 061-2025 特殊作业监护人员履责管理要求
- GB/T 21508-2025燃煤烟气脱硫设备性能测试方法
- 2025年CFA二级真题集锦
- 财务给销售部门培训
- 2026届吉林省四校高三一模语文试题(含答案)(解析版)
- 2025至2030中国汽车声学材料行业发展趋势分析与未来投资战略咨询研究报告
- 2025年国家自然博物馆面试准备及参考答案
- 煤矿智能监测与智能化运维方案
- 时间存折课件
评论
0/150
提交评论