欢迎来到天天文库
浏览记录
ID:39749895
大小:1.80 MB
页数:33页
时间:2019-07-10
《面向对象的Java实现-封装》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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,输出ACCP5.0教员的自我介绍:对属性进行封装用构造方法实现对象成员的初始化对
2、构造方法进行重载5理解封装的概念掌握private关键字掌握构造方法掌握方法重载本章目标本章重难点重点:理解封装的概念掌握实现封装的具体步骤掌握构造方法的使用掌握方法重载(Overload)难点:掌握实现封装的具体步骤掌握方法重载67为什么需要封装2-1编写一个类,代表ACCP5.0教员,要求:具有属性:姓名、年龄具有行为:自我介绍ACCP5.0教员的最小年龄要求:22岁publicclassAccpTeacher1{publicStringname;//教员姓名publicintage;//年龄/***返回自我介绍的内容*/publicStringintroduction()
3、{return"大家好!我是"+name+",我今年"+age+"岁";}}8为什么需要封装2-2编写一个测试类,要求:实例化一个教员对象,并对其初始化在控制台输出该教员的自我介绍publicclassAccpTeacher1Test{publicstaticvoidmain(String[]args){AccpTeacher1teacher=newAccpTeacher1();teacher.name="李芳";teacher.age=10;System.out.println(teacher.introduction());}}要满足教员的最小年龄要求,可以通过对属性的封装
4、来实现大家好!我是李芳,我今年10岁9什么是封装publicclassAccpTeacher2{privateStringname;//教员姓名//返回教员姓名publicStringgetName(){returnname;}//设定教员姓名publicvoidsetName(Stringname){this.name=name;}}封装,就是隐藏实现细节将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性AccpTeacher2teacher=newAccpTeacher2();teacher.setName("李芳");StringtName=teacher
5、.getName();通过setter、getter方法访问name属性this代表当前类的实例10如何实现封装2-1封装的实现:1、修改属性的可见性来限制对属性的访问2、为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于对这些属性的访问3、在setter和getter方法中,加入对属性的存取限制publicclassAccpTeacher3{privateStringname;//教员姓名privateintage;//年龄publicintgetAge(){returnage;}publicvoidsetAge(intage){if(age<22){
6、System.out.println("错误!最小年龄应为22岁!");this.age=22;//如果不符合年龄要求,则赋予默认值}else{this.age=age;}}//此处省略对name属性的setter、getter方法}12311如何实现封装2-2publicclassAccpTeacher3Test{publicstaticvoidmain(String[]args){AccpTeacher3teacher=newAccpTeacher3();teacher.setName("李芳");teacher.setAge(10);System.out.println(
7、teacher.introduction());}}使用封装,增加了数据访问限制,增强了程序的可维护性错误!最小年龄应为22岁!大家好!我是李芳,我今年22岁测试类通过调用setter方法,为对象的各个属性赋值12小结1使用private关键字修饰某个成员变量后,这个成员变量可以被同一包中的其它类访问吗?在Java程序中,代码封装带给我们的好处是什么?1、隐藏一个类的实现细节2、防止对封装数据的未经授权的访问3、有利于保证数据的完整性4、便于修改,增强代码的可维护性5、有选择地向外界提供数据
此文档下载收益归作者所有