扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
面向对象中的封装、继承 、多态
关于面向对象的三个基本特征: 封装、继承、多态
上面资料截取自 link
由于文章比较抽象,所以发个帖子跟大家讨论一下....
封装是最容易理解的,有以下几种解释方法:
1. 封装就像你建一个类,然后把这个类的属性和方法定义在一起,同时对这些属性和方法予以“public ,private,protected“等。
2. 该包的包,该漏的漏
3. 就是对数据的隐藏 ,外部用户只需要关心该类的功能和对象,不需要关心具体的实现过程和数据,这是面向对象里面一个很重要的概念
4 . 就像电视,你不需要知道它的内部是由哪些零件组成、如何工作的所以把它们封装起来了,你只知道用遥控器来控制就好
面向对象编程三大思想之一(封装、继承、多态)
(电视机的内部可以理解为class 零件可以理解为 内部function )
内容引用: link
关于继承和多态:
个人理解 继承 的概念,就像是电视 和 DVD ,各自都有遥控器,但用起来很不方便,于是你把两个遥控器拆掉,自己做了一个万能遥控器,于是这个新遥控器就可以说是继承了电视 ( class TV ) 和DVD ( class DVD ) (组合..)
如上图所示,因为继承的范围包含了很多的概念,本人肤浅的理解如此,希望大家一起讨论剩余的概念分支:
继承,泛化和聚合, 多态,覆盖和重载, 如果概念过泛,请至少讲明白 接口 和 虚函数 以及 虚类 ...
继承 的概念,就像是电视 和 DVD ,各自都有遥控器,但用起来很不方便,于是你把两个遥控器拆掉,自己做了一个万能遥控器,于是这个新遥控器就可以说是继承了电视 ( class TV ) 和DVD ( class DVD ) (组合..) 你这样理解就不符合面向对象的设计原则了,应该说电视和DVD都要遥控器,但里面的按键不同,功能也有不同,但是它们都是用来遥控的,所以我抽象出一个抽象父类,抽象的功能就是遥控,而电视的遥控器和DVD的遥控器就是继承了抽象父类的遥控功能,至于怎么遥控由具体的子类来实现,这才是继承的思想, |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者