在学习编程之初,我们总会听到“面向过程”和“面向对象”这样的术语,我们很好奇,什么是面向对象?对象是什么?
事实上,面向对象和面向过程只是最基本的编程思想,但它们听起来很高级。
面向对象编程
我将简要描述Java中的一些面向过程和面向对象的技术。本文共分为三个部分:1 .面向过程,2。面向对象。总结。
面向过程(POP)是面向过程的,英语是面向过程的编程,重点是过程。
简要说明面向过程,即代码专注于做一件事,根据具体的过程划分步骤,依次执行。
让我们举个例子:
/* *计算公式:x=1 2 3
*根据具体的计算过程,先循序渐进。
*第一步是乘法,第二步是除法。
*共两步,对应两个流程。
*以下代码在类的主函数中。
*/
//计算的第一步是将结果存储在中间变量中。
int y=1 * 2;
//计算的第二步是将上一步得到的变量代入公式计算最终结果。
int x=y3;我们可以稍微复杂一点,比如计算x=(1 ^ 2)34,按照流程划分:第一步,计算括号内的加法;第二步,计算乘法;第三步是计算除法。这个计算有三个步骤,对应三个过程。
在做一些步骤少、过程简单的程序时,面向过程很简单吗?
再举一个例子:走路,一步一步垮下来,是不是第一步,迈左脚;第二步,迈开右脚,然后交替走两步。
这是面向过程的,先分解一件事,然后按顺序做的过程。
直观的面向流程的——流程图
00-1010面向对象,面向对象编程,重点:对象对象
好了,我们已经完成了面向过程的学习,但是那些东西太简单了。现在我们想做一些复杂的事情。例如,计算从1到100的加法。然而,我们发现如果我们一步一步地分解它,一步一步地做99个加法就太复杂了。现在让我们用面向对象的方法来看看这个问题。
我们简单看一下,看是否发现主要是做加法。然后我们只需要提前写一个计算器程序,让它做加法。无论程序内部发生什么,我们只需要告诉这个程序,当输入数等于1时开始计算,当输入数等于100时结束计算。那么,这个加法会不会变得很简单?
在面向对象中,我们编程的重点不是解决一个特定的问题,而是一个可以解决一类问题的工具。我们把这类问题的共同特征拿出来,形成一个抽象的模型,叫做对象。
例如,在上面的例子中,计算1到100的加法或1到100的乘法。在这类问题中,相同的特征是:计算开始时的数、计算结束时的数和运算方法。因此,我们可以利用这三个特征来形成一个对象。在这一点上,这个叫做对象的东西具有解决这类问题的初步功能。
公共类计数器{
public int StartNum=1;//计算开始时的数字
public int EndNum=100//计算结束时的数字
公共计数1 (startnum,endnum){//算术1
//下面是方法1的具体实现代码,采用面向过程的方式编写。
};
公共计数2 (startnum,endnum){//算术2
//下面是方法2的具体实现代码,采用面向过程的方式编写。
};
.
}
//下次想解决这类问题,可以用不同的运算得到上面的Counter类,这是解决计算问题的对象。下次遇到这种问题,不需要按照复杂的流程一步一步计算。相反,我们可以根据这类对象的相应特征输入相应的数据,并根据不同的计算方法进行计算。
计数器是一个包含对象特征的模型,我们通常称之为类。
StartNum和EndNum是我们通常称之为字段的数据。
Count1,count2,这些数据的过程,我们通常称之为方法。
面向对象是面向过程的抽象。
面向对象(OOP)无论是面向过程还是面向对象,底层都是面向过程的,即按顺序执行。两者的区别在于:面向过程是让一个程序一步一步直接解决具体问题;面向对象是让程序先建立抽象模型,然后将抽象模型具体化,间接解决问题。
由于面向对象,需要使用更多的空间来构建对象,这消耗了大量的资源。所以,解决简单问题时,要面对过程;在解决复杂问题时,找出特点,通过构建对象来简化问题,然后在面对过程之前将其分解到足够简单。
对象模型。