面向对象的Java实现-封装.ppt

面向对象的Java实现-封装.ppt

ID:52530174

大小:1.80 MB

页数:33页

时间:2020-04-09

面向对象的Java实现-封装.ppt_第1页
面向对象的Java实现-封装.ppt_第2页
面向对象的Java实现-封装.ppt_第3页
面向对象的Java实现-封装.ppt_第4页
面向对象的Java实现-封装.ppt_第5页
资源描述:

《面向对象的Java实现-封装.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象的Java实现-封装第六章2相关课程回顾publicclassTest{publicstaticvoidmain(String[]args){for(inti=0;i<10;i++){System.out.println(i);}System.out.println(i==10);}}请举例说明类与对象的区别与联系。超出了变量i的访问范围请指出下列Java代码中存在的错误,并改正。3预习检查举例说明什么是方法重载?Java中的构造方法与实例方法,有什么区别?4本章任务升级HelloACCP,

2、输出ACCP5.0教员的自我介绍:对属性进行封装用构造方法实现对象成员的初始化对构造方法进行重载5理解封装的概念掌握private关键字掌握构造方法掌握方法重载本章目标本章重难点重点:理解封装的概念掌握实现封装的具体步骤掌握构造方法的使用掌握方法重载(Overload)难点:掌握实现封装的具体步骤掌握方法重载67为什么需要封装2-1编写一个类,代表ACCP5.0教员,要求:具有属性:姓名、年龄具有行为:自我介绍ACCP5.0教员的最小年龄要求:22岁publicclassAccpTeacher1{p

3、ublicStringname;//教员姓名publicintage;//年龄/***返回自我介绍的内容*/publicStringintroduction(){return"大家好!我是"+name+",我今年"+age+"岁";}}8为什么需要封装2-2编写一个测试类,要求:实例化一个教员对象,并对其初始化在控制台输出该教员的自我介绍publicclassAccpTeacher1Test{publicstaticvoidmain(String[]args){AccpTeacher1teacher

4、=newAccpTeacher1();teacher.name="李芳";teacher.age=10;System.out.println(teacher.introduction());}}要满足教员的最小年龄要求,可以通过对属性的封装来实现大家好!我是李芳,我今年10岁9什么是封装publicclassAccpTeacher2{privateStringname;//教员姓名//返回教员姓名publicStringgetName(){returnname;}//设定教员姓名publicvoid

5、setName(Stringname){this.name=name;}}封装,就是隐藏实现细节将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性AccpTeacher2teacher=newAccpTeacher2();teacher.setName("李芳");StringtName=teacher.getName();通过setter、getter方法访问name属性this代表当前类的实例10如何实现封装2-1封装的实现:1、修改属性的可见性来限制对属性的访问2、为每个属性创

6、建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的访问3、在setter和getter方法中,加入对属性的存取限制publicclassAccpTeacher3{privateStringname;//教员姓名privateintage;//年龄publicintgetAge(){returnage;}publicvoidsetAge(intage){if(age<22){System.out.println("错误!最小年龄应为22岁!");this.age=22;//如果

7、不符合年龄要求,则赋予默认值}else{this.age=age;}}//此处省略对name属性的setter、getter方法}12311如何实现封装2-2publicclassAccpTeacher3Test{publicstaticvoidmain(String[]args){AccpTeacher3teacher=newAccpTeacher3();teacher.setName("李芳");teacher.setAge(10);System.out.println(teacher.intr

8、oduction());}}使用封装,增加了数据访问限制,增强了程序的可维护性错误!最小年龄应为22岁!大家好!我是李芳,我今年22岁测试类通过调用setter方法,为对象的各个属性赋值12小结1使用private关键字修饰某个成员变量后,这个成员变量可以被同一包中的其它类访问吗?在Java程序中,代码封装带给我们的好处是什么?1、隐藏一个类的实现细节2、防止对封装数据的未经授权的访问3、有利于保证数据的完整性4、便于修改,增强代码的可维护性5、有选择地向外界提供数据

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。