java讲课文件类封装性_第1页
java讲课文件类封装性_第2页
java讲课文件类封装性_第3页
java讲课文件类封装性_第4页
java讲课文件类封装性_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论