[讨论] 面向对象中的 封装、继承 、多态

phnessu4 2009-07-02 05:01:45
关于面向对象的三个基本特征: 封装、继承、多态


上面资料截取自 link

由于文章比较抽象,所以发个帖子跟大家讨论一下....

封装是最容易理解的,有以下几种解释方法:
1. 封装就像你建一个类,然后把这个类的属性和方法定义在一起,同时对这些属性和方法予以“public ,private,protected“等。

2. 该包的包,该漏的漏

3. 就是对数据的隐藏 ,外部用户只需要关心该类的功能和对象,不需要关心具体的实现过程和数据,这是面向对象里面一个很重要的概念

4 . 就像电视,你不需要知道它的内部是由哪些零件组成、如何工作的所以把它们封装起来了,你只知道用遥控器来控制就好
面向对象编程三大思想之一(封装、继承、多态)

(电视机的内部可以理解为class 零件可以理解为 内部function )

内容引用: link

关于继承和多态:

个人理解 继承 的概念,就像是电视 和 DVD ,各自都有遥控器,但用起来很不方便,于是你把两个遥控器拆掉,自己做了一个万能遥控器,于是这个新遥控器就可以说是继承了电视 ( class TV ) 和DVD ( class DVD ) (组合..)

如上图所示,因为继承的范围包含了很多的概念,本人肤浅的理解如此,希望大家一起讨论剩余的概念分支:

继承,泛化和聚合, 多态,覆盖和重载, 如果概念过泛,请至少讲明白 接口 和 虚函数 以及 虚类 ...

希望一次性的能把这个概念讨论清楚,请拍砖....


...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuang54540 2009-07-04
  • 打赏
  • 举报
回复
mark
shagoo 2009-07-03
  • 打赏
  • 举报
回复
要弄清楚 继承,泛化和聚合, 多态,覆盖和重载 这些概念 建议你去买一本 C++编程思想 里面全部都有,
多态,覆盖经常用于同名函数不同参数的时候 或者覆盖符号~ 一般 php 用不到~ 至于纯虚函数那是 c++ 的概念,用于实现接口~
而 php 更靠近 java 所以我们一般使用 接口 就可以了~
总哈哈 2009-07-03
  • 打赏
  • 举报
回复
不错。!
llj480028 2009-07-02
  • 打赏
  • 举报
回复
继承 子类继承可以说交类的属性完全可以用的吧,子类中也可以定义自己的属性和方法,也就是为代码的可重用性而以!
tfxg 2009-07-02
  • 打赏
  • 举报
回复
值得討論

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧