虽然以前在python中也接触过OOP,但是不系统,而且自己写python肯定也是不会写成OOP风格的。
现在相对系统的学习OOP的概念,感觉。。。很难受!
有点像一开始学ML时候的感觉,就是接触了很多新概念,但是比那还困难,因为学functional programming是带着问题学的,所以掌握起来其实算快的,但是我一直不算太理解OOP的用处是什么,所以学OOP的相关概念就像填鸭一样。。。
除了subclass这种以前就懂的,主要的新概念包括duck typing,以及blocks和procs,现在理解不算太深。感觉blocks和procs的存在让ruby变成了一门非常神奇的语言。。。
但其实整个下来,对OOP的理解大有进境,感觉对python的理解也有加深。以前对python的method其实是没怎么注意过的,现在发现原来python里很多东西都是被加了一层封装塞进object里面了。
有一个概念:first class expression。就是所谓的一等公民究竟是什么。Dan给出他的解释:能被定义,传递和生成,就可以叫一等公民。按这样的定义,其实python中的函数也可以算一等公民。这又是一个典型的“Dan‘s moment”,他总是能抓住这些常见的易混淆的概念,身为小白听到这些内容简直不能更爽。
明天algo,老样子,deadline快到了~