“说我抽象?那好吧,以后我就是抽象研究生了!”
小外甥一边看着手机,一边嚷嚷。
在旁边的小舅子一听,乐了:“你一个小学生,还抽象研究生?你舅舅我才是真的研究生。”
外甥抬头看着小舅子,不屑地说:“你不就是一个人工智能系的研究生吗?懂点AI的人,到处都有啊。”
小舅子一听,又好气又好笑,说:“人小鬼大!你懂什么叫做抽象吗?还抽象研究生。”
外甥举起手机,大声说:“抽象我怎么不懂?我同学们都懂!都说我抽象!那我就抽象,是他们层次低,不能理解我。”
“那你以为,抽象就是难于理解的意思吗?”
外甥又低头看着手机,一边说:“网上都是这么说的啊。舅,我看你也挺抽象的。”
舅舅抬手把他的手机拿走了,说:“你妈我姐吩咐,不能让你用太多手机。”
外甥起身想抢回手机。小舅子一边阻止他,一边说:“你不是想学写代码吗?我可以教你,今天就教你抽象和代码的关系。”
外甥抢不到手机,听这话,消停了,问:“抽象和写电脑代码还有关系?”
“那是必须的!你舅舅我告诉你,抽象不是难于理解,正好相反,抽象是为了让我们更好理解这个世界。”
接下来的时间里,小舅子用科普的方式,给外甥讲了电脑编程的几个重要概念,面向对象编程的抽象、类和继承。
原来,抽象这个词,就是抽出象的意思,把相象相似的东西抽出来,不就是抽象吗?
例如,在电脑里,你要写代码表示车。那车是多种多样的,有的车有两个轮子,有的三个,有的四个。但同样的是,它们都有轮子,不同的是,轮子数目不同。
另外,车还有其他各种特性,有相同有不同。例如颜色,例如燃油种类,例如座位和座位数,例如最高速度,等等。
小舅子问:“你看这世界上的车,是不是很多样,很复杂?”
外甥想了想:“是啊!那我写个交通的游戏,每个车都要写一遍啊?那很烦哦。”
小舅子笑了笑:“这就烦啦?不过,你可以抽象出来一个虚拟的车,有所有车的共性,例如轮子,但轮子数是可以设定的,例如颜色,但色彩是可以设定的,例如速度,是可以设定的。”
外甥一听愣了:“轮子数不一定吗?那是什么车?这很抽象啊!很难理解啊!”
“乍看是很难理解,其实好用得很。如果没有这样的抽象类,每一个车你都要重新指明一下,有轮子,有速度,有车油。但是,如果你有一个抽象的车,你直接说我现在要一个车,那些东西都参照它,或者继承它,然后你再加上几个特殊的特性。那你就很快能得到一个新的车了。明白吗?”
外甥挠挠头:“舅舅!这好像很难懂,很抽象啊!”
小舅子撇撇嘴,刚想说话。
外甥又说了:“但这很好玩!好,这个假期我就跟你学这个了!”
微信公众号 南辉海创 授权发布。
阅读更多..