- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
day04-封装
面向对象三大特性之一:封装
1、面向对象
举例 大象装进冰箱
面向过程 存储大象 打开冰箱 关上冰箱
面向对象 冰箱打开 冰箱存储 冰箱关闭
对于面向过程思想,强调的是过程(动作)。
对于面向对象思想,强调的是对象(实体)。
自己举例
假如你开了一个店,你每天必须负责与顾客的交流,推销你的产品让
顾客接收,然后收银,当夜晚关店,直到明天开门营业,由于生意不错你
想多开几家类似的店,但是你一个人也忙不过来,这时你可以考虑到,找
人帮你看店,你让这个人每月完成多少的任务量,不然走人。你只负责店
里面的收入与每月的发放工资。此时你有执行者变成指挥者,你招聘就体
现了面向对象的思想,而员工如何完成他们的任务量跟你没有任何关系,
只是每个月完成你规定的任务量,至于怎么完成你没有必要知道,此时就
是封装。
其实一个函数就是最小的封装体。
2、面向对象的特点
面向对象就是一种常见的思想,符合人们的思考习惯。
面向对象的出现,将复杂的问题简单化;
面向对象的出现,让曾经的过程中的执行者,变成了对象中的指挥者。
有对象调用对象,没对象创建对象,并且后期维护对象之间的关系。
3、类与对象
类:用 java 语言对现实生活中事物的描述,通常只关注两方
面,一个是属性,一个是行为,只要明确该事物的属性和行为并定义在类
中即可。
对象就是类这种事物实实在在存在的个体。
定义类其实就是定义类中的成员。
成员:成员变量属性,成员函数行为。
4、对象的内存分布
成员变量与局部变量的区别
1、成员变量定义在类中,整个类都可以访问,而局部变量定义在函数,
语句,局部代码块中,只在所属的区域有效。
2、成员变量存在与堆内存的对象中,局部变量存在与栈内存的方法中
3、成员变量随着对象的创建而存在随着对象的消失而消失,局部变量随
着所属区域的执行而存在,随着所属区域的结束而释放。
4、成员变量都有默认的初始化值,局部变量没有默认的初始化值。
注意:如果成员变量如局部变量同名,则优先使用局部变量,一个方法进
栈,先在自己里面找当前的变量,如果没有,再去调用对象中去找。
5、匿名对象
没有名字的对象,其实就是定义对象的简写格式。当对象对方法仅进
行一次调用的时候,尽可以简化匿名的对象,匿名对象可以作为实际参数
进行传递。
6.基本数据类型与引用数据类型
7、封装(Encapsulation)
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处:
将变化隔离,便于使用,提高重用性,提高安全性。
原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方
法对其访问。
private:私有,是一个权限修饰符,用于修饰成员,私有的内容只在本类中
有效 .将成员变量私有化,对外提供对应的 set,get 方法对其进行访问。提
高对数据访问的安全性。
注意:私有仅仅是封装的一种体现而已。函数就是一个最小的封装体。
8、构造函数(Constructor)
函数名和类名相同。没有返回值类型。注意:没有返回值类型不等同
于 void,void 也是一种返回值类型。用于给对象初始化。
如果一个类没有定义构造函数,系统会有一个默认的空参数的构造函
数,如果定义了一个指定的构造函数,默认的就不存在了。
构造函数中可以有 return,但是不常用,因为构造函数是给对象初始化的,在用户
输入时对数据进行校验。
9、构造函数与一般函数的区别
对象创建时,就会调用与之对应的构造函数,给对象进行初始化,
只调用一次。而一般函数在对象需要此功能时才调用,可以多次调用。在
描述事物时,事物已具备一些内容,这些都定义在构造函数中,可以有多
个构造函数,用于给不同对象的初始化,以重装的形式体现的。
构造函数没有返回值,为什么不用 void?
没有返回值类型不等同于 void,void 也是一种返回值类型。当你不知
道这个函数要返回什么时,可以用 void 代替。
构造函数已经初始化了对象?为什么还要 set 方法?
因为对象在初始化的时候只能初始化一次,如果后天要修改某些属性,
但是类中的属性有私有了不能直接的访问,这个时候我们可以通过
您可能关注的文档
最近下载
- DB 53 T2002—2014-农村公路工程技术标准.docx VIP
- 工程签证补充协议.pdf VIP
- 2025年北京海淀区尚丽外国语学校高一入学分班考试语文作文模拟题及范文分析.docx VIP
- 福建省2024年6月普通高中学业水平合格性考试语文试卷(含答案).pdf VIP
- 最完整工资条模板-工资条模版.xls VIP
- privacy_pia_uscis_cis.pdf VIP
- 党建引领及安全生产课件.ppt VIP
- stm32嵌入式考试试题及答案.doc VIP
- 小学教学课件:小学数学命题的再认识讲座.ppt
- 2025年法制宣传日普法知识竞赛抢答题库及答案(共100题).docx VIP
原创力文档


文档评论(0)