oop是编程中的概念,任何编程语言,都有个问题,要把需求转变为代码,需求理解了,可以用人类的思想、语言表达出来,那人类语言怎么转成代码呢?
人话转代码,取决于人话的复杂程度和场景。
如果是简单场景,你不需要过多的思考,只是机械的按步骤做一些事,那面向过程即可。
如果是复杂场景,一些高级的思考活动,比如学习、比如做一个管理系统,那就需要一个最贴近人话的方式(实际上就是最简单)的方式转为代码,说白了,代码是语言的精炼。而人的语言,就是面向对象的。面向对象就是用最自然的方式将世间万物用代码表述出来。
比如一个苹果,我们怎么理解呢,是一种水果、红色的、又酸又甜、富含vc,这些,都是继承,继承自已有的类。
而一个苹果,不仅是水果,还可以是食物、手机、宝宝的玩具。这就是多态
所以,面向对象,就是用最贴近人语,也就是最简单的方式,理解事物,把人的思维转为代码。
人就是以面向对象的方式来理解世界,所以我们就以面向对象的方式创造了计算机,然后用面向对象的语言来指挥计算机
封装:就是为了复用,不然没必要封装了
继承:一个类封装了,怎么复用呢,所以继承
多态:肯定不能只继承一个,所以多态或者多继承
为什么面向对象,因为人就是面向对象的、人理解这个世界就是面向对象的。