1.面向对象的三大特征是什么?面向对象的基础是什么?
封装继承多态。抽象
2.为什么说面向对象的基础是抽象?对抽象做详细解释。
一个提炼存在于事物之间共同拥有的元素的过程,就叫抽象。而这些事务之间共同拥有的元素往往是这一事物区别于其他事物关键的东西,这些元素就构成了事物的本质。
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。具体到一般化的过程
类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象。接口、类、对象都是在不同层次,不同角度进行抽象的结果。共性—类,特性——接口
有很多帮助我们进行抽象的工具,比如说ER图、UML九种图、架构图、设计模式、流程图、NS图等。
3.我们要注重多少人来干事,而不是干多少事。
我们要注重谁来干事,而不是怎么干事。 这与面向对象的抽象有什么关系?
1:我们抽象出来了类,找出类与类之间的联系。它们完成事情。(理解词义:人)
2:具体完成事情,我们需要实例化对象,通过事件交互、消息驱动的方式进行事件的处理。(理解词义:谁)
3:以对象为基础,以事件驱动对象对事件进行处理。(理解词义干事)
以下以打水为例
首先我们应该抽象出类,打水人类,受水人类,水类,工具类,地点类等,当然我们还可以进一步抽象,参与人类,水类,工具类,地点类。
完成打水这件事情,我们需要实例化出对象,以事件驱动对象对事件进行处理。
抽象:抽象出谁的活。
分治:谁的活谁负责。
本文讲了什么是抽象,如何进行抽象以及深入理解面向对象内在含义,打破了之前对面向对象的固有认知,收获匪浅。
之前的开发都是空有其表,无其魂。重要要转变思想,转变思想。