面向对象三大特性之封装

上传人:g**** 文档编号:44429339 上传时间:2018-06-09 格式:DOC 页数:4 大小:22KB
返回 下载 相关 举报
面向对象三大特性之封装_第1页
第1页 / 共4页
面向对象三大特性之封装_第2页
第2页 / 共4页
面向对象三大特性之封装_第3页
第3页 / 共4页
面向对象三大特性之封装_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《面向对象三大特性之封装》由会员分享,可在线阅读,更多相关《面向对象三大特性之封装(4页珍藏版)》请在金锄头文库上搜索。

1、成都达内 http:/java 学习已经到了最核心的章节,面向对象的三大特性:封装,继承和多态。接下来会写 多篇博文(数目不定,请关注近期博客吧!午饭们!)来总结这里面的每一个细节,小可 很希望每一篇文章的阐述会给你带来一点启发,小可也是在学习的道路上摸索,也希望各 位大牛给点指导性的建议。还是先从下面的代码说起吧!package com.ivantian.CoreFengZhuang;import static java.lang.System.*;/class Wifeprivate String name;private double hight;private double weigh

2、t;/构造函数Wife(String name,double hight,double weight)this.name = name;this.hight = hight;this.weight = weight;public String getName() return name;public void setName(String name) this.name = name;public double getHight() return hight;public void setHight(double hight) this.hight = hight;public double

3、getWeight() return weight;public void setWeight(double weight) this.weight = weight;/public void washClothes()out.println(this.getName()+“ 给我洗衣服。“) ;/public void cookDinner()out.println(this.getName()+“ 给我烧饭吃。“) ;成都达内 http:/ boolean beautiful()if(this.hight=150.00)elseout.println(this.getName()+“ 不是

4、我的菜。“) ;return false;public class FindWife public static void main(String args) /实例化三个奇女子Wife fengjie = new Wife(“凤姐“,140.00,163.00) ;Wife furong = new Wife(“芙蓉姐姐“,170.00,172.00) ;Wife xiaoyueyue = new Wife(“小月月“,200.00,156.00) ;/凤姐能不能为你洗衣服?if(fengjie.beautiful() )fengjie.washClothes() ;fengjie.cook

5、Dinner() ;out.println(“=“) ;if(xiaoyueyue.beautiful() )xiaoyueyue.washClothes() ;xiaoyueyue.cookDinner() ;/让小月月改变xiaoyueyue.setHight(160.00) ;/小月月增高成功xiaoyueyue.setWeight(160.00) ;/小月月成功减肥/小月月也成美女了out.println(“=“) ;if(xiaoyueyue.beautiful() )xiaoyueyue.washClothes() ;xiaoyueyue.cookDinner() ;/芙蓉姐姐 还

6、不错out.println(“=“) ;if(furong.beautiful() )furong.washClothes() ;furong.cookDinner() ;成都达内 http:/ 不是我的菜。=小月月 不是我的菜。=小月月 is My favorite!小月月 给我洗衣服。小月月 给我烧饭吃。=芙蓉姐姐 is My favorite!芙蓉姐姐 给我洗衣服。芙蓉姐姐 给我烧饭吃。从上面的一个简单的事例代码看,你做了哪些封装?不难回答,类的私有数据(又叫 做属性,就是说你要找老婆的基本特征,外貌等) ,当你找老婆的时候,无法直接操作她的 身高,体重,年龄,只能通过方法 beauti

7、ful()来判断,当然你不知道 Wife 类中还有那些 私有数据,知道判断标准就足够了。所以说,封装的主要目的就是隐藏对象细节,将对象当做黑盒进行操作, 比如,有三 个奇女子实例供我们选择,会调用 Wife 类的构造函数,但是并知道构造函数的细节,之后 呢,你要判断奇女子那个更适合你,你就调用了 beautiful()函数来判断,所以,要操作 对象,一律得通过类提供的方法调用。private 也可以用在方法和构造函数的声明上,私有方法或构造函数通常是类内部某个 共享的演算的流程,外界不用知道私有方法的存在。 综上所述,小可可以认为有以下三种封装形式:综上所述,小可可以认为有以下三种封装形式:一

8、,封装对象的初始流程一,封装对象的初始流程构造函数,实现了对象初始化的封装。比如代码,如没有构造函数 Wife(),对的, 函数名称和类的写法一样,只能是 void 类型,默认是 public 属性,可以为 private(后面会 专门一篇文章来谈构造函数的) 。【private,public,还有一个 protected 等权限修饰符会在后面的章节详细总结。 】若是没有,你 new 一个“对象“的时候,要反反复复的将事例的属性写一篇,比较浪费 代码空间,构造函数将类属性封装起来,一句就可以解决。如代码中:如果不写构造函数的,在实例化对象的时候,JVM 会默认创建一个没有参数的构造函 数。二,

9、封装对象操作流程二,封装对象操作流程这里就不难理解了,函数或者称为行为,动作均可以,就是用来操作属性的。比如判 断是不是美女的函数 beautiful() ,比如身高,体重在那个范围,三围在那个范围才算是 MM,是西施还是东施再 如,你找到了老婆,调用了 getName() ,获得了美女的芳心,她便把自己的基本“ 属性信息“交给你了,她还可以帮你洗衣服,做晚餐等等,这些都是类 Wife 的“操作流程“./public void washClothes()out.println(this.getName()+“ 给我洗衣服。“) ;/成都达内 http:/public void cookDinn

10、er()out.println(this.getName()+“ 给我烧饭吃。“) ;三,封装对象内部数据三,封装对象内部数据因为 Wife 类的基本信息在你得到她的芳心之前,都是私有的,你是不知道的,但是她 为了让你了解她,于是提供了取值方法(Getter) ,这样你便可以得到她的基本信息。保证 了改奇女子信息的安全性。所以说,封装在某种程度上也保证了数据的安全。当然了,当你们在一起了,你可以让她减肥或者增高,当然要征得她同意,来满足你 的视觉效果,Setter,当然 private 类型的数据还有它的访问范围(后面还会接着说) ,在同一 个类中还是可以访问的。如例子中,手动来修改小月月童鞋的体重让她符合你的口味。/让小月月改变xiaoyueyue.setHight(160.00) ;/小月月增高成功xiaoyueyue.setWeight(160.00) ;/小月月成功减肥封装的初步认识就到这里,虽然是初步,但封装的基本概念已经讲完了!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号