在面相对象程序设计中,与构造函数相对应的函数称为什么函数

在面相对象程序设计中,与构造函数相对应的函数称为什么函数,第1张

析构函数

构造函数与析构函数可以看做类的事件函数,不能被显式调用(主动调用),而是当对象在创建或销毁时由系统自动调用,用于处理初始化(初始化成员变量、设置参数等准备工作)和收尾(释放对象运行时动态创建的对象,释放其内存)工作。

面向对象(ObjectOriented)是软件开发方法,一种编程范式。

面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象是一种对现实世界理解和抽象的方法,是计算机编程技术发展到一定阶段后的产物。

面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

先说一下面向过程和面向对象,这是两种思想,它们都能达到用程序来完成一件事情的能力。

只不过思维方式不一样而已。

面向过程是把一件事一项工程分解成为一个个小的功能,用一个个函数来实现

面向对象是把事情看成是一个个小的对象组成的,或者说一个个小部分组成的,这些对象之间的相互关系,构成了整个项目

在面向对象的思想中,万物皆对象,我是,你是,他也是。

而"类",就是对象的抽象或者说是概括。比如,我你他都可以概括为人类。

总的来说,类是抽象的虚的,而对象是一个个活生生的具体的事物。

人是一个类,我你他就是对象。

一般的面向对象程序设计方法都是先设计一个类,然后由这个类产生一个对象。

之后是对这个对象进行相关 *** 作。

要说明一点: *** 作是对对象进行的,没有对象就无所谓 *** 作。

下面说说如何设计一个类,

类是有一些属性和功能封装起来的。

在面向过程的思想里,一个程序一般都是由一个个函数组成的,这些函数之间相互调用,

就形成了一个完整的程序,解决了一个问题。它的基本结构是:

函数一()

{

……;

}

函数二()

{

……;

}

……

主函数ǎ

{

……;

}

但是在面向对象的思想中,是把这些都封装起来,形成一个类。

class 类名

{

函数一()

{

……;

}

函数二()

{

……;

}

……

}

然后由这个类产生一个对象,比如:我们把一个类的类名起为 student

那么产生对象的方法就是: student s1;

这里s1是一个对象,产生了这个对象以后,才可以进行相关 *** 作。

*** 作方法如: s1函数一();

等等。具体的细节在此就不说了,此文只说思想。

说得再明白一点就是,把具体的实现过程放在类里面,之后产生一个对象,有对象调用相关 *** 作。

犹如把面向过程里的函数都封装进了类里,然后再由对象来 *** 作。

一个类主要就是封装,一般把它当成一个模块,在需要的时候可以让其他类调用。

类是一个抽象,一个概括,把一些有共同特征的东西抽象化,提出它们的公共部分,封装在一起。

关于封装,上文已经说过,就是把一些属性和功能装在一个容器里面。

下面我用一个游戏来解说一下:

假设我们要做一个小游戏,类似于网游里面的打怪,为简单起见,认为怪不打人,只让人打,

他的血不断减少,直到死亡。

把所有怪物的共同特征抽象出来,于是我们得到一个类:怪物

class 怪物

{

char 怪物名;

int 血;

怪物(怪物名n,血n) /构造函数/

{

怪物名=怪物名n;

血=血n;

}

被打函数()

{

血减少;

}

判断函数()

{

if (血==0)

printf("你胜利了!");

}

玩游戏()

{

while (血 > 0)

{

被打函数();

判断函数();

}

}

}

这样,就定义了一个怪物类,他有属性:怪物名、血,有功能:构造、被打、判断

根据这个,就可以产生对象了。

一个类可以产生任意多的对象,这些对象根据构造函数的不同来区别。

我们先继续来写我们的程序

main主函数

void main()

{

/产生对象/

怪物 怪物1("狼",5000);

怪物 怪物2("虎",8000);

怪物 怪物3("蛇",3000);

/有了几个对象以后才能开始我们的游戏/

怪物1玩游戏();

怪物2玩游戏();

怪物3玩游戏();

}

再这个主函数中,我们建立了三个对象,它们共用一个类。

可以看到,类相当于一个组件,一个模块,我们在需要的时候只要建立它的对象,就能实现他所封装的功

能。

这就是面向对象的优点,可以重用,不必每一次用到时都重写。

说了这么多,自己感觉还是没说明白,真有点只可意味不可言传的感觉。

其实要是书看的多了,真正认真地写上几个东西,就能够理解了,无形之中就会有感觉的。

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

int main()

{

vector<int> v(3);

for (int &n : v)

cin >> n;

sort(vbegin(), vend());

for (int &n : v)

cout << n << ends;

return 0;

}

1、java。

Java是一种广泛使用的计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,舍弃了容易引起错误的指针,以引用取代;移除了C++中的运算符重载和多重继承特性,用接口取代;增加垃圾回收器功能。

2、c++。

C++是一种使用广泛的计算机程序设计语言。它是一种通用程序设计语言,支持多重编程模式,例如过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计和设计模式等。

3、c#。

C#是微软推出的一种基于NET框架的、面向对象的高级编程语言。C#以NET框架类库作为基础,拥有类似Visual Basic的快速开发能力。

C#由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言,希望借助这种语言来取代Java。C#已经成为Ecma国际和国际标准组织的标准规范。

4、python 。

Python是一种面向对象的动态类型语言,它是解释型、高级编程、通用型编程语言,由吉多·范罗苏姆创造,第一版发布于1991年。

python相比于C++或Java,Python让开发者能够用更少的代码表达想法。不管是小型还是大型程序,该语言都试图让程序的结构清晰明了。

5、golang。

Go(又称Golang)是Google开发的一种面向对象的静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在18版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。

与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。

参考资料来源:百度百科——java

参考资料来源:百度百科——c++

参考资料来源:百度百科——c#

参考资料来源:百度百科——python

参考资料来源:百度百科——go

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。

面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。

扩展资料

面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少,至少现在还没有发现。起初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计。

面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承、多态),并且它们不允许混合持久化状态和域逻辑。

参考资料

百度百科_面向对象

百度百科_面向过程

1、Smalltalk:

Smalltalk,被公认为历史上第二个面向对象的程序设计语言,和第一个真正的集成开发环境(IDE)。

Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:C++,C#,Objective-C,Actor,Java和Ruby等。90年代的许多软件开发思想得利于Smalltalk,例如设计模式、敏捷编程和代码重构等。

2、Eiffel:

Eiffel语言是继Smalltalk-80之后的另一个“纯”OOPL。这种语言是由OOP领域中著名的专家Bertrand Meyer等人20世纪80年代后期在ISE公司开发的,它的主要特点是全面的静态类型化、有大量的开发工具、支持多继承。

3、C++:

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

4、java:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

扩展资料

面向对象语言既可以用面向对象语言实现,也可以用非面向对象语言实现。面向对象程序设计语言本身就支持面向对象概念的实现,其编译程序可以自动地实现面向对象概念到目标程序的映射。

面向对象的采用方法从问题域表示到面向对象分析,再到面向对象设计与实现始终稳定不变。一致的表示方法不但有利于在软件开发过程中始终使用统一的概念,也有利于维护人员理解软件的各种配置成分。

以上就是关于在面相对象程序设计中,与构造函数相对应的函数称为什么函数全部的内容,包括:在面相对象程序设计中,与构造函数相对应的函数称为什么函数、什么是面向对象、什么叫面相对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9710057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存