面向对象三大特性——封装、继承、多态

【前言】

以前对面向对象和UML总是不理解,这段时间学习设计模式,和大鸟们交流较多。我感觉以前写的关于面向对象的特性理解的不对,今天谈一下自己现在的看法。

【正文】

思维导图:这里写图片描述

封装:

把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或对象操作,对不可信的信息进行隐藏。
在写代码的过程中,我们会遇到很多相同的代码,这个代码在很多地方都会用到,这些重复性比较多的代码,就可以抽象出来形成一个抽象类。让可信的类或对象进行操作。在敲机房收费的时候就遇到了。很多的查询语句、判断语句、窗体的优化、等等。其实都可以抽象到一个模块中,以前叫模块,现在叫类。将重复的代码放在一起,这就叫封装!
封装的好处:一、良好的封装可以减少耦合。(不用一个要改,其他的都得改。你懂得!)二、实现类的内部自由修改。(对呀,和其他地方联系少了,修改的时候就不会影响别人。)三、类具有清晰的对外接口。(类与类之间的访问、调用都是通过接口实现的。)

继承

对象的继承关系代表了一种‘is a’的关系,如果有两个对象A和B,可以描述‘B是A’,则表明B可以继承A。例如:男人是人,男人继承人。
此处,人是父类,男人是子类。每一个父类都有自己的属性、方法。子类拥有父类的属性、方法,同时又有自己特有的属性和方法。或者子类用自己的方式实现父类的功能。

多态

我的理解就是——我问了五个人“什么是多态”,大家的回答都不一样。所以,这就是多态!
对于这五个对象,我的刺激是——“什么是多态?”,他们都执行一个回答的方法。但是执行的代码具体是不一样的。

【总结】

   面向对象的核心是什么?——抽象!
   这个世界可以抽象成什么?——属性和方法!

桌子:属性——颜色 无方法
抽象方法类:方法——一个虚方法、无属性
人:属性——颜色、高矮胖瘦等、方法——说话、跑、跳。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值