面向对象编程有什么缺点

编辑:小文光科普网 2023-02-27 21:02:24 792

面向对象编程有什么缺点

相反,面向过程的安全性要比面向对象的安全性差很多。函数可以任意调用,没有任何编译级别的限制。个人认为面向对象的缺点主要是多态性,尤其是虚函数的引入,不仅执行效率变差,而且会使可执行文件变大。

对象的哪些缺点,是你婚后才发现的?

恋爱七年,今年终于领了结婚证。虽然婚礼还没举行,但是对方的一些缺点已经开始慢慢暴露出来了。

比如玩游戏的时候,根本听不进去自己在说什么,总是穿着袜子和裤子躺在床上,渐渐的不耐烦。你根本没有谈恋爱的气度。

游戏是很多男生的最爱,女生不让玩也不是没有道理。但是玩的时候,每次都叫不到他。有一次他在打游戏,我在阳台上收衣服,但是我已经拿到了,就叫他过来帮我一下,他根本没听见。当时我感觉自己要爆炸了。这些问题以前从未被发现过。

其实婚前他也玩游戏,但是只要我需要,他就可以不玩游戏来帮我,但是现在,完全不一样了。

我是个洁癖,也曾经以为我的对象也是这样。但是结婚后我发现,他以前是装的,现在是放得下自己。

为什么我之前觉得他有点洁癖?因为下雨的时候他会擦掉踩在上面的泥。现在想来,都是错觉。现在回家袜子不脱睡衣,直接躺在床上。每次要骂他换衣服,我都觉得自己成了泼妇,都是因为他的强迫。

只是最近我变得不耐烦了。

就做饭而言,以前我们会商量好吃什么,然后下班一起去逛街。但是现在如果我下班早去逛街,问他的时候,他会很不耐烦的说他想买什么就买什么,想吃什么就吃什么,这让我很不开心。这些缺点在婚后慢慢暴露出来,让人抓狂。

面向对象编程的优点和缺点分别是什么?

面向对象以java、python、perl和类的形式出现。一个类是一个完整的系统。比如游戏编程,可以把不同的模块封装成类,然后调用。

比如一类是多功能冰箱,可以冷藏,也可以保温。冰箱本身就是一个整体。在实际问题中,做饭的时候,我们调用它的储物功能和电饭煲来解决实际问题。

与函数不同,函数侧重于进程,一个函数解决一个问题,而类本身有很多函数,可以扩展、继承和调用。

java面向对象程序设计有什么优缺点

优势

1.抽象:抽象就是忽略一个题目中那些与当前目标无关的方面,从而更加关注与当前目标相关的方面。抽象不是说知道所有的问题,只是选择其中的一部分,暂时不要用到一些细节。

抽象有两个方面,一个是流程抽象,一个是数据抽象。

2.继承:继承是连接类的层次模型,允许并鼓励类的重用。它提供了一种清晰表达共性的方式。对象的新类可以从现有类派生。这个过程叫做类继承。新类继承了原类的特征,称为原类的派生类(子类),原类称为新类的基类(父类)。派生类可以从其基类继承方法和实例变量,并且类可以修改或添加新方法以使它们更适合特殊需要。

3.封装:封装就是把流程和数据包围起来,数据只能通过定义好的接口访问。面向对象计算始于这样一个基本概念,即现实世界可以被描述为一系列完全自治和封装的对象,这些对象通过受保护的接口访问其他对象。

4.多态性:多态性指的是允许不同种类的对象响应相同的消息。

多态性包括参数多态性和包含多态性。语言多态性具有灵活性、抽象性、行为共享和代码共享等优点,解决了应用程序功能同名的问题。

劣势

1.过度封装:使用OOP时,会将一些复杂的问题分离抽象成更简单的独立对象,通过对象的相互调用来实现解决方案。

但是,由于对象包含自己封装的数据,一个问题的数据集分散在不同的内存区域。互相调用时,很可能会出现数据的缓存缺失。

2.多态:在C的一般多态实现中,会用到虚函数表。

通过添加间接层来动态调度功能表。但调用时需要读取虚函数表,增加了缓存未命中的可能性。基本上要支持动态交付,使用虚函数表和函数指针会导致动态交付。但是,如果类的数量非常大,将函数指针和数据放在一起有时会减缓问题的解决。