版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语言基础第四章面向对象内容概要:理解封装的概念掌握private关键字对属性进行封装2023/9/28为什么需要封装
编写一个测试类,要求:实例化一个讲师对象,并对其初始化,在控制台输出该讲师的自我介绍classTeacher1{ Stringname; intage; voidtell(){ System.out.println("大家好!我是"+name+",我今年"+age+"岁"); }}publicclassTeacher1Test{publicstaticvoidmain(String[]args){ Teacher1teacher=newTeacher1(); ="小卓"; teacher.age=10; teacher.tell();}}要满足讲师的最小年龄要求,可以通过对属性的封装来实现大家好!我是小卓,我今年10岁2023/9/28什么是封装(见备注)publicclassTeacher2{privateStringname;//讲师姓名//返回讲师姓名publicStringgetName(){
returnname;}//设定讲师姓名publicvoidsetName(Stringname){
=name;}
}
封装,就是隐藏实现细节将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性Teacher2teacher=newTeacher2();teacher.setName("小卓");StringtName=teacher.getName();通过setter、getter方法访问name属性this代表当前类的实例2023/9/28private修饰符1.private修饰符简介用private修饰的成员变量和方法分别被称为私有变量和
私有方法。它们只能被该类自身所访问和修改,而不能被任何其他类,包括该类的子类,来获取和引用。2.使用private修饰符的原因由于public修饰符修饰的数据存在危险,因此,在实现类的时候通常把所有的数据字段都设为私有的。2023/9/28如何实现封装封装的实现:1、修改属性的可见性来限制对属性的访问2、为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的访问3、在setter和getter方法中,加入对属性的存取限制publicclassTeacher3{privateStringname;//讲师姓名privateintage;//年龄publicintgetAge(){ returnage;}publicvoidsetAge(intage){if(age<22){System.out.println("错误!最小年龄应为22岁!");this.age=22;//如果不符合年龄要求,则赋予默认值}else{this.age=age;}}//此处省略对name属性的setter、getter方法}1232023/9/28publicclassTeacher3Test{publicstaticvoidmain(String[]args){ Teacher3teacher=new
Teacher3(); teacher.setName("小卓"); teacher.setAge(10);
teacher.tell();}}使用封装,增加了数据访问限制,增强了程序的可维护性错误!最小年龄应为22岁!大家好!我是小卓,我今年22岁测试类通过调用setter方法,为对象的各个属性赋值如何实现封装2023/9/28作业1、使用private关键字修饰某个成员变量后,这个成员变量可以被同一包中的其它类访问吗?2、在Java程序中,代码封装带给我们的好处是什么?2023/9/28请通过代码封装,实现如下需求:1、编写一个类Book,代表教材:具有属性:名称(title)、页数(pageNum),其中页数不能少于200页,否则输出错误信息,并赋予默认值200为各属性设置赋值和取值方法具有方法:detail,用来在控制台输出每本教材的名称和页数2、编写测试类BookTest
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度二手教材买卖合同样本2篇
- 2024年度演出经纪合同的演出项目、经纪服务与报酬分配
- 2024年度货物买卖合同的支付与交付保证
- 北京城市学院《英语阅读》2021-2022学年第一学期期末试卷
- 二零二四年度影视制作合同标的剧本创作与拍摄制作
- 北京城市学院《广告创意与表现》2023-2024学年第一学期期末试卷
- 苗木种植与环保产业融合发展2024年度合作协议
- 2024年智能工厂建设项目合同
- 二零二四年度土地使用权互换合同
- 2024版设备租赁及维护服务协议
- 部编版语文四年级上册第五单元大单元作业设计
- 2024年全国学宪法讲宪法知识竞赛考试题库(三套完整版)
- 2024-2025学年部编版(2024)七年级历史上册知识点提纲
- 2024年公安机关招警面试题及参考答案
- 2024-2030年中国丙型肝炎病毒(HCV)检测行业市场发展趋势与前景展望战略分析报告
- 初一期中家长会课件
- 医院患者人文关怀管理制度
- 人教版小学三年级道德与法治上册《第四单元 家是最温暖的地方》大单元整体教学设计
- 第9章-行政机关的其他行为
- 39 《出师表》对比阅读-2024-2025中考语文文言文阅读专项训练(含答案)
- 人教版五年级上册语文《期中》测试卷及完整答案
评论
0/150
提交评论