重新认识面向对象(一)

简介: 重新认识面向对象(一)

1.面向对象的三大特征是什么?面向对象的基础是什么?

封装继承多态。抽象


2.为什么说面向对象的基础是抽象?对抽象做详细解释。

一个提炼存在于事物之间共同拥有的元素的过程,就叫抽象。而这些事务之间共同拥有的元素往往是这一事物区别于其他事物关键的东西,这些元素就构成了事物的本质。


抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。具体到一般化的过程


类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象。接口、类、对象都是在不同层次,不同角度进行抽象的结果。共性—类,特性——接口


有很多帮助我们进行抽象的工具,比如说ER图、UML九种图、架构图、设计模式、流程图、NS图等。


3.我们要注重多少人来干事,而不是干多少事。

我们要注重谁来干事,而不是怎么干事。 这与面向对象的抽象有什么关系?

1:我们抽象出来了类,找出类与类之间的联系。它们完成事情。(理解词义:人)

2:具体完成事情,我们需要实例化对象,通过事件交互、消息驱动的方式进行事件的处理。(理解词义:谁)


3:以对象为基础,以事件驱动对象对事件进行处理。(理解词义干事)


以下以打水为例


首先我们应该抽象出类,打水人类,受水人类,水类,工具类,地点类等,当然我们还可以进一步抽象,参与人类,水类,工具类,地点类。

完成打水这件事情,我们需要实例化出对象,以事件驱动对象对事件进行处理。


抽象:抽象出谁的活。


分治:谁的活谁负责。


本文讲了什么是抽象,如何进行抽象以及深入理解面向对象内在含义,打破了之前对面向对象的固有认知,收获匪浅。


之前的开发都是空有其表,无其魂。重要要转变思想,转变思想。

相关文章
|
Python
Python实操案例十一
Python实操案例十一
132 0
Python实操案例十一
|
小程序
小程序 video 组件播放本地视频(黑屏无法播放,报错:MEDIA_ERR_SRC_NOT_SUPPORTED)
小程序 video 组件播放本地视频(黑屏无法播放,报错:MEDIA_ERR_SRC_NOT_SUPPORTED)
1577 0
|
运维 监控 应用服务中间件
自动化运维的利器:Ansible实战应用
【10月更文挑战第41天】在现代IT运维领域,自动化已成为提高效率、减少错误的关键。Ansible作为一种简单而强大的自动化工具,正被越来越多的企业采纳。本文将通过实际案例,展示如何使用Ansible简化日常运维任务,包括配置管理和批量部署等,旨在为读者提供一种清晰、易懂的自动化解决方案。
246 1
|
安全 Java 开发者
Lock锁和AQS之间的关系与区别:基于第一原理的深入分析
【11月更文挑战第26天】在Java并发编程中,锁(Lock)和队列同步器(AbstractQueuedSynchronizer,简称AQS)是两个核心概念。它们为多线程环境下的同步和互斥提供了强大的支持。本文将从第一原理出发,深入探讨Lock锁和AQS之间的关系与区别,同时分析它们的相关概念、业务场景、历史背景、功能点以及底层原理,并使用Java代码进行模拟实现。
271 1
|
编解码 前端开发 Java
SpringBoot集成ffmpeg实现视频转码播放
之前构建过文件预览服务,对于视频部分前端播放组件限制只能为mp4格式,为了支持更多视频格式决定对方案进行升级,由于视频格式较多,针对每一种格式定制选择播放器不太现实,决定对视频源统一转码,转码后的格式为mp4,兼容性稳定且前后端改造工作较小
1097 0
|
C++ 索引
C++核心技术要点《运算符重载》
C++核心技术要点《运算符重载》
191 2
|
监控 前端开发 SQL
ODPS SQL问题之在何种情况下建议使用Distributed Map Join
ODPS SQL问题之在何种情况下建议使用Distributed Map Join
222 0
|
数据库
SAP ABAP——数据类型(五)【LIKE系列关键字】
本文主要介绍一下SAP ABAP中的声明数据类型的LIKE系列关键字,主要包括了LIKE、LIKE TABLE OF、LIKE LINE OF、LIKE REF TO。LIKE系列语句是与TYPE系列所对应的语句,前者主要是参照数据类型进行定义,而后者则是参照实例化的数据对象进行定义,在下一章中笔者将对数据对象进行详细的讲述。
1259 0
SAP ABAP——数据类型(五)【LIKE系列关键字】
|
JSON 文字识别 安全
我的MacBook装了啥玩意?
我的MacBook装了啥玩意?
338 0
我的MacBook装了啥玩意?

热门文章

最新文章