第6章-面向对象的Java实现-封装ppt课件.ppt
《第6章-面向对象的Java实现-封装ppt课件.ppt》由会员分享,可在线阅读,更多相关《第6章-面向对象的Java实现-封装ppt课件.ppt(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用面向面向面向面向对对象的象的象的象的JavaJava实现实现-封装封装封装封装第六章第六章第六章第六章经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用相关课程回顾相关课程回顾 public class Test public static void main(String args)for(int i=0;i10;i+)System.out.println(i);System.out.
2、println(i=10);请举例说明类与对象的区别与联系。请举例说明类与对象的区别与联系。超出了变量超出了变量i的的访问范围访问范围请指出下列请指出下列Java代码中存在的错误,并改正。代码中存在的错误,并改正。2经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用预习检查预习检查举例说明什么是方法重载?举例说明什么是方法重载?Java中的构造方法与实例方法,有什么区别?中的构造方法与实例方法,有什么区别?3经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品
3、的价款或接受服务的费用本章任务本章任务升级升级HelloACCP,输出,输出ACCP5.0教员的自我介绍:教员的自我介绍:对属性进行封装对属性进行封装用构造方法实现对象成员的初始化用构造方法实现对象成员的初始化对构造方法进行重载对构造方法进行重载 4经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用理解封装的概念理解封装的概念掌握掌握private关键字关键字掌握构造方法掌握构造方法掌握方法重载掌握方法重载本章目标本章目标5经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额
4、为消费者购买商品的价款或接受服务的费用本章重难点本章重难点重点:重点:理解封装的概念理解封装的概念 掌握实现封装的具体步骤掌握实现封装的具体步骤 掌握构造方法的使用掌握构造方法的使用 掌握方法重载(掌握方法重载(Overload)难点:难点:掌握实现封装的具体步骤掌握实现封装的具体步骤 掌握方法重载掌握方法重载 6经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用为什么需要封装为什么需要封装 2-1编写一个类,代表编写一个类,代表ACCP5.0教员,要求:教员,要求:具有属性:姓名、年龄具有属性:姓名、年龄具有行为
5、:自我介绍具有行为:自我介绍ACCP5.0教员的最小年龄要求:教员的最小年龄要求:22岁岁public class AccpTeacher1public String name;/教员姓名教员姓名public int age;/年龄年龄/*返回自我介绍的内容返回自我介绍的内容*/public String introduction()return 大家好!我是大家好!我是+name+,我今年我今年+age+岁岁;7经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用为什么需要封装为什么需要封装 2-2编写一个测试类,
6、要求:编写一个测试类,要求:实例化一个教员对象,并对其初始化实例化一个教员对象,并对其初始化在控制台输出该教员的自我介绍在控制台输出该教员的自我介绍public class AccpTeacher1Test public static void main(String args)AccpTeacher1 teacher=new AccpTeacher1();teacher.name=李芳李芳;teacher.age=10;System.out.println(teacher.introduction();要满足教员的最小年龄要求,可以通过对属性的封装来实现要满足教员的最小年龄要求,可以通过对属
7、性的封装来实现大家好!我是李芳,我今年大家好!我是李芳,我今年1010岁岁8经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用什么是封装什么是封装public class AccpTeacher2 private String name;/教员姓名教员姓名/返回教员姓名返回教员姓名public String getName()return name;/设定教员姓名设定教员姓名public void setName(String name)this.name=name;封装封装,就是隐藏实现细节就是隐藏实现细节将属性
8、私有化,提供公有方法访问私有属性将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性通过这些公有方法访问私有属性 AccpTeacher2 teacher=new AccpTeacher2();teacher.setName(李芳李芳);String tName=teacher.getName();通过通过setter、getter方法方法访问访问name属性属性this代表当前类的实例代表当前类的实例9经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用如何实现封装如何实现封装2-1封装的实现:封装的
9、实现:1、修改属性的可见性来限制对属性的访问、修改属性的可见性来限制对属性的访问2、为每个属性创建一对赋值、为每个属性创建一对赋值(setter)方法和取值方法和取值(getter)方法,用于方法,用于对这些属性的访问对这些属性的访问3、在、在setter和和getter方法中,加入对属性的存取限制方法中,加入对属性的存取限制public class AccpTeacher3 private String name;/教员姓名教员姓名private int age;/年龄年龄public int getAge()return age;public void setAge(int age)if(
10、age22)System.out.println(错误!最小年龄应为错误!最小年龄应为22岁!岁!);this.age=22;/如果不符合年龄要求,则赋予默认值如果不符合年龄要求,则赋予默认值 else this.age=age;/此处省略对此处省略对name属性的属性的setter、getter方法方法12310经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用如何实现封装如何实现封装2-2public class AccpTeacher3Test public static void main(String a
11、rgs)AccpTeacher3 teacher=new AccpTeacher3();teacher.setName(李芳李芳);teacher.setAge(10);System.out.println(teacher.introduction();使用封装,增加了数据访问限制,增强了程序的可维护性使用封装,增加了数据访问限制,增强了程序的可维护性 错误!最小年龄应为错误!最小年龄应为22岁!岁!大家好!我是李芳,我今年大家好!我是李芳,我今年22岁岁测试类通过调用测试类通过调用setter方法,为对象的各个属性赋值方法,为对象的各个属性赋值11经营者提供商品或者服务有欺诈行为的,应当按照
12、消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用小结小结 1使用使用private关键字修饰某个成员变量后,这个成员关键字修饰某个成员变量后,这个成员变量可以被同一包中的其它类访问吗?变量可以被同一包中的其它类访问吗?在在Java程序中,代码封装带给我们的好处是什么?程序中,代码封装带给我们的好处是什么?1、隐藏一个类的实现细节、隐藏一个类的实现细节 2、防止对封装数据的未经授权的访问、防止对封装数据的未经授权的访问 3、有利于保证数据的完整性、有利于保证数据的完整性 4、便于修改,增强代码的可维护性、便于修改,增强代码的可维护性 5、有选择地向外界提供数
13、据、有选择地向外界提供数据12经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用this关键字关键字Java中为解决变量的命名冲突和不确定性问题,引入关键中为解决变量的命名冲突和不确定性问题,引入关键字字“this”代表其所在方法的当前对象。代表其所在方法的当前对象。-构造器中指该构造器所创建的新对象构造器中指该构造器所创建的新对象 方法中指调用该方法的对象方法中指调用该方法的对象 this关键字的用法关键字的用法 在类本身的方法或构造器中引用该类的实例变量和方法在类本身的方法或构造器中引用该类的实例变量和方法 将
14、当前对象作为参数传递给其它方法或构造器将当前对象作为参数传递给其它方法或构造器 用来调用其他的重载的构造器用来调用其他的重载的构造器13经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用访问控制访问控制在在Java中,可以在类、类的属性以及类的方法前面加上一中,可以在类、类的属性以及类的方法前面加上一个修饰符(个修饰符(modifier),来对类进行一些访问上的控制。),来对类进行一些访问上的控制。14经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款
15、或接受服务的费用访问控制访问控制访问控制的限制程度从高到低如下图所示。注意,访问控制的限制程度从高到低如下图所示。注意,default不是一个修饰符,它只是用来表示一种不加任何修饰符时不是一个修饰符,它只是用来表示一种不加任何修饰符时的状态。的状态。15经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用小结小结 2请通过代码封装,实现如下需求:请通过代码封装,实现如下需求:编写一个类编写一个类Book,代表教材,代表教材:具有属性:名称(具有属性:名称(title)、页数()、页数(pageNum),其中页数不能少
16、于),其中页数不能少于200页,否则输出错误信息,并赋予默认值页,否则输出错误信息,并赋予默认值200为各属性设置赋值和取值方法为各属性设置赋值和取值方法具有方法具有方法:detail,用来在控制台输出每本教材的名称和页数,用来在控制台输出每本教材的名称和页数编写测试类编写测试类BookTest进行测试:为进行测试:为Book对象的属性赋予初始值,对象的属性赋予初始值,并调用并调用Book对象的对象的detail方法,看看输出是否正确方法,看看输出是否正确 总结下实现封装的具体步骤:总结下实现封装的具体步骤:完整代码实现完整代码实现16经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增
17、加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用为什么需要构造方法为什么需要构造方法 2-1开发开发ACCP5.0教员类教员类AccpTeacher4,要求:,要求:具有属性:姓名、年龄、学历、职位具有属性:姓名、年龄、学历、职位具有行为:自我介绍具有行为:自我介绍public class AccpTeacher4 private String name;/姓名姓名private int age;/年龄年龄private String education;/学历学历private String position;/职位职位public String introducti
18、on()return 大家好!我是大家好!我是+name+,我今年,我今年”+age+岁,学历岁,学历“+education+,目前职位是,目前职位是+position;public String getName()return name;public void setName(String myName)name=myName;/以下是其他属性的以下是其他属性的setter、getter方法,此处省略方法,此处省略17经营者提供商品或者服务有欺诈行为的,应当按照消费者的要求增加赔偿其受到的损失,增加赔偿的金额为消费者购买商品的价款或接受服务的费用为什么需要构造方法为什么需要构造方法 2-2编
19、写一个测试类,要求:编写一个测试类,要求:实例化一个教员对象,并对其初始化实例化一个教员对象,并对其初始化在控制台输出该教员的自我介绍在控制台输出该教员的自我介绍public class AccpTeacher4Test public static void main(String args)AccpTeacher4 teacher=new AccpTeacher4();teacher.setName(李芳李芳);teacher.setAge(23);teacher.setEducation(本科本科);System.out.println(teacher.introduction();要简化
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 Java 实现 封装 ppt 课件
限制150内