
正文
错误面向对象,面向对象状态
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
为什么说面向对象编程和函数式编程都有问题
1、面向对象的问题在于它对“对象”的定义,它试图将所有事情就纳入到这个概念里。这种做法极端化后,你就得出来一个一切皆为对象思想。但这种思想是错误的,因为 有些东西不是对象。函数就不是对象。
2、复杂度高:面向对象编程需要进行大量的类设计、继承关系的确定等工作,系统的各个模块之间通常具有复杂的相互依赖关系,这会增加开发人员的工作量和风险。
3、面向对象编程思想与人们在现实世界中思考问题的方式是一致的。他们将代码组织成有意义的代码块,这些代码块之间有着各种直接的关系。
4、我接触过Haskell、Clojure和其他语言,也做过PL的“研究”。可以浅谈一下: 函数的复杂度 分析Haskell程序的时间和空间复杂度是很麻烦的。
相关问答
Q1: 下列有关面向对象的叙述不正确的是()
1、类是面向对象类型扩展的重要机制,利用属性和方法将数据和与数据相关的行为封装起来。面向对象设计的基本思想包括抽象、封装和可扩展性,其可扩展性是通过对象继承和多态来实现。
2、对象是由封装的属性和方法构成的,封装的属性和方法对外界是不可见的,但对象可以定义对外界可见的属性和方法。对象之间的相互作用要通过消息来实现。在面向对象数据库中,类是一系列对象的集合。
3、【答案】:B 对象是类的实例。尽管对象的表示在形式上与一般数据类型十分相似,但是它们之间存在一种本质区别,即对象之间通过消息传递方式进行通信。
Q2: 对象和类是面向对象中两个重要的概念,关于对象和类,不正确的是...
1、对象包含三个基本要素,分别是对象标识、对象状态和对象行为。例如,对于姓名(标识)为Joe的教师而言,其包含性别、年龄、职位等个人状态信息,同时还具有授课等行为特征/Joe就是封装后的一个典型对象。
2、类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。一个类可以创建多个对象。
3、【答案】:D 面向对象基本概念类和对象关系可以总结为:(1)每一个对象都是某一个类实例。(2)每一个类在某一时刻都有零或更多实例。
Q3: 面向对象编程方法的主要缺点是什么?
性能牺牲面向对象编程的性能牺牲是其缺点之一。由于面向更高的逻辑抽象层,使得在实现的时候,不得不做出性能上面的牺牲,有时候甚至是致命的。
如果我们的开发基于「旧代码就是需要被经常修改的」,那么面向对象中的一部分特性其实变成了毫无意义的累赘。当然这并意味着 OOP 完全无用,在这个前提下,其实我们需要重新审视面向对象的程序设计,取其精华去其糟粕。
缺点:没有准确的定义:很难提供一个准确的定义来说明面向对象DBMS应建成什么样,这是因为该名称已经应用到很多不同的产品和原型中,而这些产品和原型考虑的方面可能不一样。
面向对象出现在java,python,perl里面,以类的形式出现。一个类是一个完整的体系,例如在游戏编程时,可以对不同模块封装成类,到时候调用就可以了。
面向对象原本要解决什么(或者说有什么优良特性)似乎很简单,但实际又很不简单:面向对象三要素封装、继承、多态 (警告:事实上,从业界如此总结出这面向对象三要素的一刹那开始,就已经开始犯错了!)。
缺点过度封装:使用OOP时,会把一些复杂的问题分拆抽象成较简单的独立对象,通过对象的互相调用去实现方案。但是,由于对象包含自己封装的数据,一个问题的数据集会被分散在不同的内存区域。
关于错误面向对象和面向对象状态的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







