面向对象一点思考

来源:互联网 发布:变声软件手机版 编辑:程序博客网 时间:2024/06/08 18:41

面试的时候要求阐述面向对象的解释:封装,继承,多态

但老大说最重要的是 抽象,是后面三个的基础,我也深以为意。毕竟 实体到计算机语言的转换需要好的抽象。

实体抽想起来 包含两部分:data & action

action就是在data的基础上做出的行为吧。也可以说操作data的描述。

然后昨天又谈到 template方法。

这与template模式有些不同,template模式是把共同的行为给大体规定下来,比如人一天 起床,吃饭,上班,下班,睡觉,就可以这样:

while(OneAlive){

WakeUp();

HvFood();

Work();

OffWork();

Sleep();

}

是什么food肯定是不同的,可以在具体实现中override;同样Work也是,比如coder就需要动脑,拉面师傅要出力气;有的人睡8小时,有的睡10小时等等。

而这里,我们谈论的templete方法,我觉得就是基于抽象过程中把一类实体共同的data&action给抽象出来。

老大说木有方法,只有data中那部分有默认初值的那部分工作才是template方法most important'的。

额,赞同。