- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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),是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式。
好处:
将变化隔离;
您可能关注的文档
- 2016高考数学专题复习导练测第二章函数与基本初等函数(I)章末检测理新人教A版.doc
- 2016高考数学专题复习导练测第二章函数与基本初等函数(I)阶段测试(三)理新人教A版.doc
- 2016高考政治重点内容补充.doc
- 2016高考地理第一轮总复习真题备选题库自然灾害与防治(选修5).doc
- 2016高考地理第一轮总复习真题备选题库第八章农业地域的形成与发展.doc
- 2016高考政治时事热点分析_含练习.doc
- 2016高考新作文素材上海地铁“凤爪女”走红.doc
- 2016高考全国课标卷文科数学模拟试题一及详解.doc
- 2016高考文言句式复习.doc
- 2016高考文数大纲考试范围与要求.doc
最近下载
- Bio-DL宝予德移液器Bio-1用户手册.pdf
- 2025黑龙江省农业投资集团有限公司招聘笔试备考题库及答案解析.docx VIP
- 法律常识题库 法律常识试题题库.doc VIP
- 充电桩工程施工技术方案.pdf VIP
- GB/T 14048.11-2024低压开关设备和控制设备 第6-1部分:多功能电器 转换开关电器.pdf
- 14S501-1 球墨铸铁单层井盖及踏步施工.docx VIP
- 崇左幼儿师范高等专科学校《幼儿教师职业道德与政策法规》2023-2024学年第二学期期末试卷.doc VIP
- 健康中国PPT课件医学.pptx VIP
- 低甲醛免烫整理工艺中催化剂的性能研讨.pdf VIP
- 药用辅料和药品包装材料检验技术.pdf VIP
原创力文档


文档评论(0)