我母亲在 Fortran 上完成了她的大学论文,现在(十多年后)需要学习 c++ 进行流体模拟。她能够理解所有的程序化编程,但无论我多么努力地向她解释对象,它都无法坚持。(我用 Java 做了很多工作,所以我知道对象是如何工作的)我想我可能用太高级的方式来解释它,所以对于从未使用过它们并成长的人来说,这真的没有意义在纯函数式编程时代。
有什么简单的方法可以向她解释以帮助她理解吗?我在这里先向您的帮助表示感谢。
告诉她把物体想象成现实世界中的物体。例如,整个世界可以是面向对象编程(在 C++ 中)与某种函数式编程(可能用上帝的语言 Lisp 完成)的混合。
拿一个物体来说,比如割草机,它有一定的属性,可以做一定的事情。(对象和类)
然后告诉她一个更好的割草机,它是你已有的割草机的延伸。告诉她它更好,但仍然建立在相同的机制(继承)之上。
然后告诉她你自己。告诉她你有时可以成为一名割草专家,但你实际上是一名程序员并以此为生。这就像你同时扮演两个不同的实体一样。这就是多态性。
当她得到这个时,告诉她如何用她必须学习的语言(C++)来实现这些东西。
然后告诉她,如果她必须在计算机世界中编写这个世界的模拟,她将不得不学习如何去做。
当她知道如何将她对现实世界的想法转化为程序代码时。她将学会如何使用面向对象的编程语言进行编程。