Skip to content

Latest commit

 

History

History
 
 

面向对象开发

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

故事

产品大大说:我们要实现这样一种功能:在html中展示一排数字0-9,当用户在键盘上按某个数字的时候,对应的数字点亮

思路

模块拆分:创建一个类(InputManager)来控制键盘输入事件,创建第二个类(Render)控制数字样式的高亮。两者之间联系是,在监控到键盘事件之后在InputManager中调用Render的方法。这样数据和方法都被封装了起来

变化

产品大大又说:我需要增加一个功能,点亮数字的同时,将输入的数字Alert出来

改动

糟糕,发现Render类已经被其他页面使用,不能直接修改。我们用class的继承来避免重复代码,实现一个Render的子类(RenderWithAlert)。 在子类中重写它的公共方法。这样就实现了多态。

总结

面向对象编程特点:继承,封装,多态