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

    第3章抽象和封装课件.ppt

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

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

    第3章抽象和封装课件.ppt

    第3章 类与对象(抽象与封装),教师:李云平,JAVA编程思想掌握类和对象的概念掌握构造方法及其重载掌握封装的概念及其使用,本章目标,JAVA编程思想,面向过程和面向对象的区别? JAVA程序结构?面向对象程序设计的优点?,为什么使用面向对象2-1,现实世界是由什么组成的?,世界由对象组成,为什么使用面向对象2-2,软件出现的目的是为了:用计算机的语言描述现实世界用计算机解决现实世界的问题出现了软件危机,如何解决?,用面向对象的方式描述对象的世界,符合人类思维习惯,“问题”和“解”一致, ,1、易维护采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。2、质量高在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。3、效率高在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。4、易扩展由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。,-面向对象程序设计的优点,面向对象的编程思维,ScoreCalc类 和 Test类,ublic static void main(String args) Scanner input = new Scanner(System.in); System.out.print(请输入Java成绩:); int java = input.nextInt(); /*计算并显示输出*/ int total = java + c + db; double avg = total / 3; System.out.print(总成绩: + total); System.out.print(n平均分: + avg);,一次还可以接受,如果还要再执行这个功能,难道还要重复再写?,一个现实世界的问题,宠物现实世界的对象如何在计算机中描述它?,从现实中抽象出类分三步: 1. 找出它的种类 2. 找出它的属性 3. 找出它的行为,用面向对象描述世界3-1,用面向对象的思想描述世界第一步:发现类,根据”对象”抽象出“类”,class Dog ,名词,各个狗对象,用面向对象描述世界3-2,第二步:发现类的属性,狗类共有的特征: 1. 品种2. 年龄3. 昵称4. 健康情况5. 跟主人的亲密度 ,class Dog String name = 旺财; / 昵称 int health = 100; / 健康值 int love = 0; / 亲密度 String strain = 拉布拉多犬; / 品种 ,只放我关心的属性,名词,用面向对象描述世界3-3,第三步:发现类的方法,狗类共有的行为: 1. 跑2. 吠3. 输出狗的信息 ,动词,class Dog String name = 旺财; / 昵称 int health = 100; / 健康值 int love =100; / 亲密度 String strain = 拉布拉多犬; / 品种 /* 输出狗的信息 */ public void print() / 输出狗信息的代码 ,只放我关心的方法,类图,使用类图描述类用于分析和设计“类”直观、容易理解,“+”:public“-”:private,类名,返回值类型,类型,属性名,参数:名字:类型,名字:类型,方法名,class Penguin /属性 String name; String sex; int love; int health; /成员方法 public void print() System.out.println(我是一只企鹅); ,定义一个企鹅类?,构造方法 3-1,对象初始化,Penguin pgn = new Penguin();pgn.name = qq;pgn.sex = Q仔;,class Penguin / 属性 /* 无参构造方法 */ public Penguin() name = qq; love = 20; sex = Q仔; System.out.println(执行构造方法); ,使用构造方法:Penguin pgn1 = new Penguin();,能否在创建对象的同时就完成赋值?,构造方法,构造方法 3-2,构造方法,ublic 构造方法名( ) /初始化代码,与类名相同,没有返回值类型,ublic Penguin() name = qq; love = 20; sex = Q仔; System.out.println(执行构造方法);,可以指定参数,构造方法 3-3,阅读代码,说出运行结果,并指出原因,class Penguin String name; String sex; int health; public void Penguin() health=10; sex=雄; System.out.println(执行构造方法); public void print() System.out.println(企鹅的名字是 + name + ,健康值是 + health + ,性别是 + sex); ,Penguin pgn3=new Penguin();pgn3.print();,有返回值类型,不是构造方法,方法重载,一个类是否可以有多个构造方法?方法重载,指同一个类中多个方法:方法名相同参数列表不同,与返回值、访问修饰符无关,3.6 关键字this,当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是 this,3.6 关键字this,1使用this区分成员变量和局部变量局部变量:在方法体中声明的变量以及方法的参数 方法的参数在整个方法内有效, 局部变量从它定义的位置之后开始有效。成员变量:在整个类内有效。,为什么要使用封装,下面代码有什么问题?如何解决上面设计的缺陷?,Dog d = new Dog();d.health = 1000;,不合理的赋值,使用封装,什么是封装,面向对象三大特征之一封装封装的概念封装的好处,封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问,隐藏类的实现细节,只能通过规定方法访问数据,方便加入控制语句,方便修改实现,如何使用封装,封装的步骤,修改属性的可见性,创建getter/setter方法,在getter/setter方法中加入属性控制语句,设为private,用于属性的读写,对属性值的合法性进行判断,class Dog private String name = 旺财; / 昵称 private int health = 100; / 健康值 private int love = 0; / 亲密度 private String strain = 拉布拉多犬; / 品种 public int getHealth() return health; public void setHealth (int health) if (health 100 | health 0) this.health = 40; System.out.println(健康值应该在0和100之间,默认值是40); else this.health = health; / 其它getter/setter方法,this代表当前对象,1,2,2,3,练习用类图设计Dog和Penguin类,需求说明:运用面向对象思想抽象出Dog类和Penguin类,画出对应类图根据类图编写Dog类和Penguin类添加构造方法,完成时间:20分钟,指导打印Dog信息2-1,训练要点:类的结构,对象的创建,类的属性和方法的调用 类的封装 需求说明:根据控制台提示信息选择领养宠物(狗),输入昵称、品种、健康值打印宠物信息要保证健康值的有效性(在1到100之间),讲解需求说明,指导打印Dog信息2-2,实现思路:修改Dog类编写Test类,完成时间:30分钟,从控制台输入宠物信息,打印宠物信息,保证健康值的有效性,否则取默认值60,练习Dog类的带参构造方法,需求说明:增加带参构造方法将setHealth()方法设为私有,注释掉其他setter方法修改Test类,使用带参构造方法创建对象,完成时间:20分钟,Dog(String name, int health, int love, String strain),Penguin(String name, int health, int love, String sex),练习操作企鹅性别属性,需求说明:给Penguin类提供SEX_MALE和SEX_FEMALE两个静态常量,分别取值“Q仔”或“Q妹”修改Test类,使用静态常量对性别进行赋值修改企鹅的性别只能取值“雄”或“雌”,通过修改静态常量值实现该需求,完成时间:15分钟,总结,使用面向对象的思想开发程序有什么好处?如何从现实世界抽象出类?方法重载的语法是什么?如何实现封装?,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开