day04-封装.pdfVIP

  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文档。上传文档
查看更多
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 方法? 因为对象在初始化的时候只能初始化一次,如果后天要修改某些属性, 但是类中的属性有私有了不能直接的访问,这个时候我们可以通过

文档评论(0)

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

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

1亿VIP精品文档

相关文档