最病 过封装 口封装是把过程和数据包围起来,对数据的访问 只能通过已定义的界面 DVD播放机 Institute of Computer Software, Nanjing University 2021/215
封装 Institute of Computer Software, Nanjing University 2021/2/5 12 封装是把过程和数据包围起来,对数据的访问 只能通过已定义的界面。 DVD播放机
最病 过封装 ● Professor clark Professor clark needs to be able to teach four classes in the L NameJClark next semester D Employee ID: 567138 HireDate: 07/25/1991 Status: Tenured D Discipline: Finance SetMaxload 口 Maxload4 Take Sabbatical Institute of Computer Software 2021/215 Nanjing University
2021/2/5 Institute of Computer Software Nanjing University 13 封装 ⚫ Professor Clark needs to be able to teach four classes in the next semester. TakeSabbatical() Professor Clark Name: J Clark Employee ID: 567138 HireDate: 07/25/1991 Status: Tenured Discipline: Finance MaxLoad:4 SetMaxLoad(4)
封装一信息/实现隐藏 Balance Interface insterestytD Owner Client Deposit( Account number Withdraw Transfer( Deposit( Withdraw(i.] Transfer(.] Institute of Computer Software 2021/215 Nanjing University
2021/2/5 Institute of Computer Software Nanjing University 14 封装—信息/实现隐藏 Interface Client Deposit() Withdraw() Transfer() Balance insterestYTD Owner Account_number Deposit() {…} Withdraw() {…} Transfer() {…}
最病 过封装 口封装使得对象在抽象所界定的范围内保持相对 的独立,从而保证对象设计和对象实施方法的 可靠分离。一一设计者和使用者分离! 口封装可以防止由于程序模块之间的互相依赖性 而导致程序“不稳定”一一不会因某个部分的 修改而导致整个系统许多部分都发生改动。 口封装是相对的!不能也没有必要阻止编程人员 去查看实施细节。 Institute of Computer Software 2021/215 Nanjing University
2021/2/5 Institute of Computer Software Nanjing University 15 封装 封装使得对象在抽象所界定的范围内保持相对 的独立,从而保证对象设计和对象实施方法的 可靠分离。——设计者和使用者分离! 封装可以防止由于程序模块之间的互相依赖性 而导致程序“不稳定”——不会因某个部分的 修改而导致整个系统许多部分都发生改动。 封装是相对的!不能也没有必要阻止编程人员 去查看实施细节
最病 封装V.继承 口矛盾吗?No! 口封装性主要指的是对象的封装性,引入继承机 制后,对象仍然是封装地很好的实体,其它对 象与它通信只能发送消息 口相似性:共享代码! 口继承:静态共享代码 口封装:动态共享代码 Institute of Computer Software 2021/215 Nanjing University
2021/2/5 Institute of Computer Software Nanjing University 16 封装 vs. 继承 矛盾吗?No! 封装性主要指的是对象的封装性,引入继承机 制后,对象仍然是封装地很好的实体,其它对 象与它通信只能发送消息。 相似性:共享代码! 继承:静态共享代码 封装:动态共享代码