欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    java封装与构造方法.ppt

    • 资源ID:5436082       资源大小:2.02MB        全文页数:28页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java封装与构造方法.ppt

    面向对象的Java实现-封装,第一章,2,课程地位,3,相关课程回顾,public class Test public static void main(String args)for(int i=0;i10;i+)System.out.println(i);System.out.println(i=10);,请举例说明类与对象的区别与联系。,超出了变量i的访问范围,请指出下列Java代码中存在的错误,并改正。,4,就业技能结构图,5,预习检查,举例说明什么是方法重载?Java中的构造方法与实例方法,有什么区别?,6,本章任务,升级HelloACCP,输出ACCP5.0教员的自我介绍:对属性进行封装用构造方法实现对象成员的初始化对构造方法进行重载,7,理解封装的概念掌握private关键字掌握构造方法掌握方法重载,本章目标,8,为什么需要封装 2-1,编写一个类,代表ACCP5.0教员,要求:具有属性:姓名、年龄具有行为:自我介绍ACCP5.0教员的最小年龄要求:22岁,public class AccpTeacher1public String name;/教员姓名public int age;/年龄/*返回自我介绍的内容*/public String introduction()return 大家好!我是+name+,我今年+age+岁;,9,为什么需要封装 2-2,编写一个测试类,要求:实例化一个教员对象,并对其初始化在控制台输出该教员的自我介绍,public class AccpTeacher1Test public static void main(String args)AccpTeacher1 teacher=new AccpTeacher1();teacher.name=李芳;teacher.age=10;System.out.println(teacher.introduction();,要满足教员的最小年龄要求,可以通过对属性的封装来实现,10,什么是封装,public class AccpTeacher2 private String name;/教员姓名/返回教员姓名public String getName()return name;/设定教员姓名public void setName(String name)this.name=name;,封装,就是隐藏实现细节将属性私有化,提供公有方法访问私有属性通过这些公有方法访问私有属性,AccpTeacher2 teacher=new AccpTeacher2();teacher.setName(李芳);String tName=teacher.getName();,通过setter、getter方法访问name属性,this代表当前类的实例,11,如何实现封装2-1,封装的实现: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(age22)(错误!最小年龄应为22岁!);this.age=22;/如果不符合年龄要求,则赋予默认值 else this.age=age;/此处省略对name属性的setter、getter方法,1,2,3,12,如何实现封装2-2,public class AccpTeacher3Test public static void main(String args)AccpTeacher3 teacher=new AccpTeacher3();teacher.setName(李芳);teacher.setAge(10);System.out.println(teacher.introduction();,使用封装,增加了数据访问限制,增强了程序的可维护性,错误!最小年龄应为22岁!大家好!我是李芳,我今年22岁,测试类通过调用setter方法,为对象的各个属性赋值,13,小结 1,使用private关键字修饰某个成员变量后,这个成员变量可以被同一包中的其它类访问吗?在Java程序中,代码封装带给我们的好处是什么?,14,小结 2,请通过代码封装,实现如下需求:编写一个类Book,代表教材:具有属性:名称(title)、页数(pageNum),其中页数不能少于200页,否则输出错误信息,并赋予默认值200为各属性设置赋值和取值方法具有方法:detail,用来在控制台输出每本教材的名称和页数编写测试类BookTest进行测试:为Book对象的属性赋予初始值,并调用Book对象的detail方法,看看输出是否正确,完整代码实现,15,为什么需要构造方法 2-1,开发ACCP5.0教员类AccpTeacher4,要求:具有属性:姓名、年龄、学历、职位具有行为:自我介绍,public class AccpTeacher4 private String name;/姓名private int age;/年龄private String education;/学历private String position;/职位public String introduction()return 大家好!我是+name+,我今年”+age+岁,学历“+education+,目前职位是+position;public String getName()return name;public void setName(String myName)name=myName;/以下是其他属性的setter、getter方法,此处省略,16,为什么需要构造方法 2-2,编写一个测试类,要求:实例化一个教员对象,并对其初始化在控制台输出该教员的自我介绍,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();,要简化对象初始化的代码,可以通过构造方法来解决,大家好!我是李芳,我今年23岁,学历本科,目前职位是null,AccpTeacher4中有太多的属性及对应的setter方法,在初始化时,很容易就忘记了,有没有可能简化对象初始化的代码?,17,什么是构造方法,构造方法负责对象成员的初始化工作,为实例变量赋予合适的初始值构造方法必须满足以下语法规则:1、方法名与类名相同2、没有返回类型,public class AccpTeacher5 private String name;/教员姓名/构造方法public AccpTeacher5()name=无名氏;,public class AccpTeacher5Test public static void main(String args)AccpTeacher5 teacher=new AccpTeacher5();,使用new关键字调用构造方法,18,带参数的构造方法 2-1,通过带参数的构造方法,显式地为实例变量赋予初始值,public class AccpTeacher6 private String name;/教员姓名private int age;/年龄private String education;/学历private String position;/职位/带参数的构造方法public AccpTeacher6(String pName,int pAge,String pEducation,String pPosition)name=pName;age=pAge;/可以增加对age等属性的存取限制条件education=pEducation;position=pPosition;public String introduction()return 大家好!我是+name+,我今年+age+岁,学历+education+,目前职位是+position;,19,带参数的构造方法 2-2,通过调用带参数的构造方法,简化对象初始化的代码,public class AccpTeacher6Test public static void main(String args)AccpTeacher6 teacher=new AccpTeacher6(李芳,23,本科,咨询师);System.out.println(teacher.introduction();,创建对象时,一并完成了对象成员的初始化工作,大家好!我是李芳,我今年23岁,学历本科,目前职位是咨询师,20,小结 3,编写一个类Book2,代表教材:具有属性:名称(title)、页数(pageNum),其中页数不能少于200页,否则输出错误信息,并赋予默认值200具有方法:detail,用来在控制台输出每本教材的名称和页数。具有带参数的构造方法:用来完成对象的初始化工作,并在构造方法中完成对页数的最小值限制编写测试类Book2Test进行测试:初始化一个Book2对象,并调用该Book2对象的detail方法,看看输出是否正确,完整代码实现,21,生活中的方法重载,类,方法,方法参数,方法实现,司机,轿车,巴士,火车,驾驶,启动、行驶、,等待乘客上车、启动、行驶、到站停车、,正点发车、行驶、到站停车、,如果用代码实现,我们需要三个方法,这些方法的方法名称相同,参数类型不同,22,方法重载的代码示例 1,方法重载并不陌生类的println方法能够打印数据并换行,根据数据类型的不同,有多种实现方式,public class Test public static void main(String args)int i=0;char c=z;String str=hello;System.out.println(i);System.out.println(c);System.out.println(str);,PrintStream,println(int)println(char)println(String),方法名相同,参数类型不同,调用不同的println方法,方法重载,23,方法重载的代码示例 2,类的max()方法能够从两个数字中取出最大值,它有多种实现方式运行时,Java虚拟机先判断给定参数的类型,然后决定到底执行哪个max()方法,public class Test public static void main(String args)Math.max(1,2);Math.max(1.0F,2.F);Math.max(1.0,2);,方法重载,24,构造方法重载 2-1,构造方法重载是方法重载的典型示例,public class AccpTeacher7 private String name;/教员姓名private String school=北京中心;/所在中心public AccpTeacher7(String name)this.name=name;/设定教员姓名public AccpTeacher7(String name,String school)this.name=name;/设定教员姓名this.school=school;/设定教员的所在中心public String introduction()return 大家好!我是+school+的+name;,构造方法重载,25,构造方法重载 2-2,通过调用不同的构造方法来表达对象的多种初始化行为例如:默认情况下,教师来自北京中心,初始化时,只需提供教员姓名有时,需要提供所在中心名称及教员姓名,public class AccpTeacher7Test public static void main(String args)AccpTeacher7 teacher1=new AccpTeacher7(李芳);System.out.println(teacher1.introduction();AccpTeacher7 teacher2=new AccpTeacher7(张欣,天津中心);System.out.println(teacher2.introduction();,大家好!我是北京中心的李芳大家好!我是天津中心的张欣,26,小结 4,编写一个类Book3,代表教材:具有属性:名称(title)、页数(pageNum)、种类(type)具有方法:detail,用来在控制台输出每本教材的名称、页数、种类具有两个带参构造方法:第一个构造方法中,设置教材种类为“计算机”(固定),其余属性的值由参数给定;第二个构造方法中,所有属性的值都由参数给定编写测试类Book3Test进行测试:分别以两种方式完成对两个Book3对象的初始化工作,并分别调用它们的detail方法,看看输出是否正确,完整代码实现,27,给定如下Java代码,请指出代码中的错误,并解释原因。,public class Sample private int x;public Sample()x=1;public Sample(int i)x=i;public int Sample(int i)x=i;return x+;private Sample(int i,String s)public Sample(String s,int i)private Sampla(int i)x=i+;private void Sampla(int i)x=i+;,总结,无参构造方法,带参构造方法,不是构造方法,带参构造方法,带参构造方法,名称与类名不相同,不是构造方法,28,Thank you,

    注意事项

    本文(java封装与构造方法.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开