文档章节

OOP编程思想

gitOpen_1
 gitOpen_1
发布于 2017/06/08 09:46
字数 778
阅读 35
收藏 0
OOP

 

         (Object Oriented Programming)面向对象变编程思想,是一种基于面向过程编程思想的变化。要学习面向对象,首先就要了解什么是面向过程。

         先来说一下编程,本身的意义。计算机是一种只识别01的机器,我们想要利用计算机完成各种操作,就必须把现实世界的具体事物转换成机器能识别的逻辑判断,这就是编程。

谈完编程,再来说说面向过程和面向对象又有怎样的区别。

         什么是面向过程呢?例如我们想让电脑帮我们计算我们一年的收入,去掉必须的支出,例如房租,吃饭,交通费等等,最后的结余是多少。用面向过程的思想去编程,我们是这样做的:先创建变量用于接收每月工资数,再创建变量接收没有的各种支出,注意,在这一步这几个变量实际上是没有任何联系的,然后我们用一个循环计算值。这个过程本身开来没什么问题,的确应该这么做。

那我们再来看看面向对象是怎么做的呢?首先创建一个对象,把所有和对象有关的数据存放到对象里,然后我们通过对象中取值进行循环计算。这么一看好像面向对象比面向过程还麻烦来了呢?是的面向对象必然没有面向过程的执行效率高,但是,面向对象这种编程思想带来了多样的好处。

1.            将多类型数据整合为对象,更适合管理和使用。因为,我们现在举的只是一个简单的例子,只使用了很少的变量,但是在现实生活中,处理一件事情可能还产生数以百计的变量,要我们计算,这时面向对象的优势便体现出来。

2.            对代码的复用性高。还是刚才的例子,如果之前有人写好了代码,可以直接交给其他人使用,其他人不用考虑是怎么做到的,只要拿过来把想要的数据输入就可以得到结果。

3.            万物皆对象的思想,面向对象提出万物皆对象,这更贴合实际生活中的现实事物,例如一个人在面向对象过程中即抽象为对象,人的各种属性,如姓名,年龄,居住地等等,就是对象的属性。这就很方便的描述了一个现实事物。

4.            面向对象思想最大的优势我觉得是降低了开发门槛,就像C相对于汇编,本质上大家都是一样的都是为了用计算机描述现实存在的事物,只是描述的方法越来越贴近人类自己的思维方式,也就变的越来越简单。

© 著作权归作者所有

gitOpen_1
粉丝 2
博文 24
码字总数 15623
作品 0
广州
后端工程师
私信 提问
PO-->OOP+AOP-->SOA软件开发思想演化

一、概述 PO(Procedure Oriented,面向过程编程):是一种以过程为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以...

AlexMahoneFBI
2016/03/31
141
0
Android中AOP实践之一概念篇

预热 在说AOP之前先来说说java最经典的OOP(面向对象编程),我们通过面向对象的封装思想把同一类事物的共性归为一类中,方便我们统一管理。比如我们会把汽车的轮子,发动机,车身喷漆都放在...

LaxusJ
2017/11/12
0
0
【java基本】面向界面变成(AOP)的原理

AOP原理: 动态地将代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。 场景: 面向切面编程(AOP是Aspect Oriented Program的首字母缩写) ,我们知道,面向对象的特点是继承...

卯金刀GG
2018/04/14
17
1
一个简单的例子实现自己的AOP

AOP是Aspect Oriented Programming的缩写,意思是面向切面编程,与OOP(Object Oriented Programming)面向对象编程对等,都是一种编程思想。 从OOP角度分析,我们关注业务的处理逻辑,是属于纵...

java工会
2018/05/16
0
0
初识AOP面向切面编程 (前端)

前言 想必大家对面向对象OOP (Object Oriented Programming)应该都不陌生,它是一种编程思想。而AOP(Aspect Oriented Programming)在编程历史上可以说是里程碑式的,显然它并不是OOP的替代品...

anonymity
06/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Rust 的 GUI 框架生态概览

本文比较全面比较了目前主流的 Rust 的 GUI 框架的表现。其中 ++ 表示非常好,-- 表示非常差,而 o 表示处于平均水平。 参与对比的框架共有 8 个,详细的比较结果如下: Electron + Neon El...

红薯
13分钟前
3
0
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
2
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
3
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部