面向对象的主要优点有哪些?
面向对象的主要优点有哪些?
笔试见到的一个题,还真有这么考的。。。
面向对象方法与传统的结构化方法有着显著区别。该思想提倡运用人类的思维方式,从现实世界中存在的事物出发来构造软件系统,它建立在“对象”概念基础上,以对象为中心,以类和继承为构造机制来设计和构造软件系统。
1.与人类习惯的思维方法一致
传统的结构化软件开发方法是面向过程的,以算法为核心,数据和过程作为相互独立的部分,数据和过程分离,忽略了数据和操作之间的内在的联系,问题空间和解空间并不是一致的。
面向对象的方法是以对象为核心,尽可能接近人类习惯的抽象思维方法,并尽量一致地描述问题空间和解空间,从而自然而然地解决问题。
2.系统的稳定性好
面向对象方法用对象模拟问题域中的实体,以对象间的联系刻画实体间联系。当系统的功能需求变化时,不会引起软件结构的整体变化,仅需做一些局部的修改。
由于现实世界中的实体是相对稳定的,因此,以对象为中心构造的软件系统也会比较稳定。
3.可重用性好
面向对象方法具有的继承性和封装性支持软件复用。有两种方法可以重复使用一个对象类。一是创建类的实例,从而直接使用它;二是从它派生出一个满足需要的新类,子类可以重用其父类的数据结构和程序代码,并且可以在父类的基础上方便地修改和扩充,而且子类的修改并不影响父类的使用。
4.较易于开发大型软件产品
用面向对象方法开发大型软件时,把大型软件产品看作是一系列相互独立的小产品,采用RUP(统一开发过程)的迭代开发模型,可以降低开发时的技术难度和开发工作管理的难度。
5.可维护性好
由于面向对象的软件稳定性比较好,容易修改、容易理解、易于测试和调试,因而软件的可维护性就会比较好。
面向对象的主要优点有哪些?相关推荐
- python面向对象编程的优点-Python 基础知识----面向对象编程
一.面向对象编程介绍 面向过程编程: 核心是过程二字,过程指的是解决问题的步骤,即先做什么再干什么然后干什么. 基于该思想编写程序好比在设计一条流水线,是一种机械式的思维方式. 优点:复杂的问题流程化 ...
- python面向对象编程的优点-Python面向对象编程
面向过程编程,重点在于过程(可以理解成how),即以过程为核心,计算机/写代码的人会把精力聚焦在具体的实现过程上,这个过程第一步干什么,第二步干什么,直到最后完成了你的目标. 面向对象编程,重点在于对 ...
- python面向对象编程的优点-Python语言有哪些优点?
2018年主流的十大编程语言中,Python排名第一,被广大使用者誉为"更美好"编程语言.Python语言自身的语言特点,使得他深受开发者的喜爱,那么Python语言到底有哪些优点 ...
- python面向对象编程的优点-Python面向对象编程——总结面向对象的优点
Python面向对象编程--总结面向对象的优点 一.从代码级别看面向对象 1.在没有学习类这个概念时,数据与功能是分离的 def exc1(host,port,db,charset): conn=co ...
- python面向对象编程的优点-Python入门之面向对象编程(一)面向对象概念及优点
概念 谈到面向对象,很多程序员会抛出三个词:封装.继承和多态:或者说抽象.一切都是对象之类的话,然而这会让初学者更加疑惑.下面我想通过一个小例子来说明一下 面向对象一般是和面向过程做对比的,下面是一个 ...
- python面向对象编程的优点-Python面向对象编程 一
一.类 面向对象是对函数进行分类和封装,其主要目的是提高程序的重复实用性,让开发更方便快捷. 在我们的认知中,我们会根据属性相近的东西归为一类.例如:鱼类,鱼类的共同属性是呼吸,卵生.任何一个鱼都在此 ...
- 面向对象程序有哪些优点呢?
转自: 面向对象程序有哪些优点呢? 面向对象简介: 面向对象(Object Oriented)是软件开发方法,一种编程范式.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界 ...
- Swift 面向对象
1.面向对象概念 面向过程编成是将所要解决的问题按解决问题的步骤进行分析. 如果是大问题,就分解成为多个不同的小问题,在程序里叫做划分成不同的模块. 每一个解决的步骤可能是一行或者几行代码,也可能是一 ...
- 我问占小狼到底什么是面向对象编程?他转头就走。
你好,我是 yes. 面向对象编程想必大家都耳熟能详,但是写了这么多代码你对面向对象有清晰的认识吗? 来看看这几个问题: 到底什么是面向对象编程? 和面向过程编程有什么区别? 什么又称为面向对象语言. ...
最新文章
- C++ Opencv 读取指定路径中的所有文件(图片)及指定路径中指定格式的所有文件(图片)
- erlang supervisor simple_one_for_one实例
- Android开发热门前沿知识,成功定级腾讯T3-2
- 洛谷 P1044 栈 [卡特兰数]
- 伺服电机要计算机控制,计控 - it610.com
- 双向控制引脚的控制代码
- 找第一个只出现一次的字符_leetcode哈希表之第一个只出现一次的字符
- 2010年开年的一地鸡毛
- 推荐一个简洁优雅的博客系统,farbox
- 风波中的滴滴:离无人驾驶落地还有多远?
- unknown error: Chrome failed to start: crashed 解决方法
- 怎么在服务器跑sql文件,服务器mysql数据库如何运行脚本
- NVIDIA Nsight Compute 界面认识
- 【随笔】一个可爱的圆函数模型
- 第九届GIS应用技能大赛上午(试题及答案含数据)
- 阿拉丁年会 - 小程序开发者年度盛会 报告内容摘要
- 计算机怎样禁止再添加新用户,Win10如何添加新用户?
- python可视化---阶梯图step()
- 跨境电商和淘宝哪个好
- gunicorn工作原理