2抽象和封装.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2抽象和封装

抽象和封装 英语单词 单词 释义 class 类 static 静态的 final 最终的 private 私有的 访问修饰符 public 公共的 protected 受保护的 default 默认的 constructor 构造器、构造方法(可用来创建对象) overloading 重载 同一个类中,方法名相同,参数不同 抽象 我们需要设计一个电子宠物系统,其中领养宠物功能的详细需求如下: 根据控制台提示,输入领养宠物的昵称; 根据控制台提示,输入领养宠物的类型,有两种选择:狗狗和企鹅; 如果选择狗狗,要选择狗狗的品种,有两种选择:“聪明的拉布拉多犬”或“中华田园犬” 如果选择类型,选择企鹅的性别:“Q仔”或“Q妹”。 所领养宠物的健康值默认是100,表示非常健康。 所领养的宠物和主人的亲密度是0,表示和主人不熟。 在控制台打印宠物信息,包括昵称、健康值、亲密度、品种或性别,表示领养成功。 领养成功后主人可以和狗狗玩接飞盘的游戏,也可以让狗狗看家;如果领养的是企鹅,主人可以和企鹅一起游泳,也可以和企鹅玩过家家的游戏。 根据上面的描述,进行分析和设计,找出类,设计类;并画出类图! 分析: 先找简单名词 再找修饰性名词 然后找动词 优化 类图 抽象时遵循的原则: 属性、方法的设置是为了解决业务问题的; 关注主要属性、方法; 如果没有必要、勿增加额外的类、属性和方法。 类的定义 生活中描述事物无非就是描述事物的属性和行为,如人有身高、体重等属性,有说话、打球等行为。 Java中用类(class)来描述事物也是如此,属性:对应类中的成员变量,行为对应类中的成员函数。 定义类其实就是定义类的成员:成员变量和成员函数。 实例 Dog.java Penguin.java 成员变量和局部变量的区别: 成员变量定义在类中,在整个类中都可以被访问; 成员变量随着对象的创建而建立,存在于对象所在的堆内存中; 成员变量都有默认初始值。 局部变量定义在局部范围内(方法内、语句或语句块内); 局部变量存在于栈内存中,局部变量只在所在的范围内有效,超出作用范围,变量所占内存就会被释放; 局部变量没有默认值,必须初始化。 实例: 成员变量的初始值 引用数据类型 null 基本数据类型 byte short int long 0 float double 0.0 char ‘ ’ boolean false 创建和使用对象 创建对象的语句 Dog dog = new Dog(); Penguin penguin = new Penguin(); 对象的内存结构 调用属性 对象名.属性名 调用方法 对象名.方法名 实例:Test.java 使用final定义常量 实例:Dog.java和Penguin.java的改进 使用static定义类成员 static关键字用于修饰成员:成员变量和成员函数 代码块 被static修饰后的成员具有以下特点: 随着类的加载而加载; 优先于对象存在; 被该类的所有对象所共享; 可以不用构造对象而直接使用 类名.成员名的形式调用 使用static关键字时应注意: 静态方法只能访问静态成员; 静态方法中不可以写this、super关键字; 主方法是静态的 实例:Dog.java和Penguin.java的改进 以及SweepMine.java 思考:为什么main()方法要被定义为static? 构造方法 特点: 方法名与类名相同(大小写必须一致) 不用定义返回值 不可以使用return语句 作用:给对象进行初始化 使用构造方法应该注意: 如果在一个类中没有显示的定义构造方法,系统会自动的为每个类添加一个无参的空的构造方法 可以为一个类定义多个构造方法,多个构造方法是以重载的形式存在 实例:Dog.java和Penguin.java的改进 this关键字 特点:this代表其所在函数所属对象的引用,换言之this代表本类对象的引用。 何时使用this关键字:当在函数内需要用到调用该函数的对象时,就用this. 类中的方法(包括成员方法和构造方法)中要调用构造方法的形式:this(参数列表),需要注意的是:在构造方法中要调用另一个构造方法,必须是第一句。 要使用本类对象的属性:this.属性名 实例:Dog.java 和Penguin.java改进 封装 封装(Encapsulation),是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式。 好处: 将变化隔离;

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档