A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Neverlandxu 中级黑马   /  2015-10-15 23:30  /  330 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



封装:封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项,或者叫接口

有了封装,就可以明确区分内外,使得类实现者可以修改封装的东西而不影响部调用者;而外部调用者也可以知道自己不可以碰哪里。这就提供一个良好的合作基础——或者说,只要接口这个基础约定不变,则代码改变不足为虑。

继承+多态

先说继承:继承同时具有两种含义:其一是继承基类的方法,并做出自己的扩展——号称解决了代码重用问题;其二是声明某个子类兼容于某基类(或者说,接口上完全兼容于基类),外部调用者可无需关注其差别(内部机制会自动把请求派发[dispatch]到合适的逻辑)。

再说多态:基于对象所属类的不同,外部对同一个方法的调用,实际执行的逻辑不同。

很显然,多态实际上是依附于继承的第二种含义的。让它与封装、继承这两个概念并列,是不符合逻辑的。不假思索的就把它们当作可并列概念使用的人,显然是从一开始就被误导了。


2 个回复

倒序浏览
封装到底是个什么东西- -
回复 使用道具 举报
帮助信息 发表于 2015-10-15 23:52
封装到底是个什么东西- -

可以理解成打包,打包完之后告诉你这个东西可以干什么,有哪些东西,怎么用,你直接用就可以,不需要知道他的内部原理。
简单地说,把打电话,发短信,拍照等功能封装到手机里,给你个说明书告诉你怎么用,你不需要知道手机内部是怎么运行的,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马