`
jinghuainfo
  • 浏览: 1524299 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

面向对象vs非面向对象

 
阅读更多

非面向对象更关注功能,它将一个大的问题细分成很多小功能,每个功能就表现为一个函数,通过函数之间的相互连接,完成问题的求解。使用这种功能分解方式编程会出现一个问题:当需求发生改变时,必须要修改某个函数或模块,模块的变化同时会引起其他依赖该模块的程序的正常运行,因此带来了程序不易维护和扩展的缺点。

面向对象编程用对象封装解决了上面的问题。利用面向对象的基本特征,并灵活使用设计模式,能给程序带来良好的可复用性、可扩展性以及可维护性。

面向对象有4个主要特征,它们是区分非面向对象编程的主要标志。

抽象:抽象包括数据抽象和过程抽象。面向过程式编程,不是把过程与数据看成一个整体,只是把客体的行为抽取出来,如果属性有变更,需要更改很多地方。而面向对象编程将数据与过程做个一个整体,并形成对象。每个对象都有自己有自己的状态,并能够根据自身当前状态完成相应的功能。

封装:非面向对象编程将数据与功能函数分离,在C语言中数据采用结构体方式表示,其成员变量都默认public的。面向对象采用类作为封装,其中包含了属性和方法,且都可以用public,protected,friendly,private四种不同的访问权限修饰,达到了数据隐藏的效果,提高了软件的可靠性和可维护性。

继承:在非面向对象编程中没有继承的概念。面向对象中的继承增加了软件的可复用性和可扩展性。

多态:多态依托于继承。把通用功能放在较高层次,具体实现放在较低层次,低层次的对象能对通用消息作出个性的响应。增强程序的可扩展性和可维护性。

分享到:
评论

相关推荐

    面向对象编程与非面向对象编程

    面向对象编程与非面向对象编程

    面向对象 面向对象 面向对象

    面向对象 面向对象 面向对象面向对象 面向对象 面向对象面向对象 面向对象 面向对象面向对象 面向对象 面向对象面向对象 面向对象 面向对象

    面向对象葵花宝典-电子版

    面向对象是目前最流行的一种程序设计和实现思想,无论你是从事企业级开发、互联网应用开发,还是手 机软件开发,都会使用到面向对象的技术;主流的编程语言中,C++,Java,C#,PHP,Python等都是支持 面向对象的语言;...

    面向对象分析与设计

    《面向对象分析与设计(第3版)》是UML创始人Grady Booch的代表作之一,书中介绍的概念都基于牢固的理论基础。同时,《面向对象分析与设计(第3版)》又是一本注重实效的书,面向架构师和软件开发者等软件工程实践者的...

    Python 3面向对象编程

    Python 是一种面向对象的解释型语言,面向对象是其非常重要的特性。《Python 3面向对象编程》通过Python 的数据结构、语法、设计模式,从简单到复杂,从初级到高级,一步步通过例子来展示了Python 中面向对象的概念...

    plc面向对象编程架构与实现

    面向对象编程是计算机语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程...

    漫画面向对象编程 Java

    借助于漫画展示的形式,面向对象的简、由类创建一个对象的方法、类的编写与对象的创建、类的构造函数、类的方法、修饰符、Java中的封装/继承/多态等特征、Java中的线程、用Java创建一个小世界、多线程共享数据,以及...

    面向对象分析与设计UML2.0(PDF)

    详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...

    习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf

    习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf习题解答-Java面向对象程序设计-邢国波-清华大学出版社.pdf习题解答-Java面向对象程序设计-邢...

    面向对象课本课后题面向对象课后题面向对象课后题

    面向对象课后题面向对象课后题面向对象课后题面向对象课后题面向对象课后题面向对象课后题

    经典面向对象思想 经典面向对象思想

    经典面向对象思想 经典面向对象思想 ...经典面向对象思想经典面向对象思想经典面向对象思想经典面向对象思想经典面向对象思想经典面向对象思想 经典面向对象思想经典面向对象思想经典面向对象思想经典面向对象思想

    java面向对象编程源码

    本书内容由浅入深,紧密结合实际,利用大量典型实例,详细讲解Java面向对象的编程思想、编程语法和设计模式,介绍常见Java类库的用法,总结优化 Java编程的各种宝贵经验,深入阐述Java虚拟机执行Java程序的原理。...

    面向对象技术讲解面向对象技术讲解

    面向对象技术讲解面向对象技术讲解面向对象技术讲解面向对象技术讲解面向对象技术讲解面向对象技术讲解

    面向对象软件工程

    《面向对象软件工程》 作者:Stephen.R.Schach 学校:(美)范德比尔特大学 书名原名:Objected-Oriented Software Engineering 目录: 第一部分 面向对象软件工程简介  第一章 面向对象软件工程的范畴  第二章 ...

    面向对象实验报告面向对象的验报告

    面向对象实验报告面向对象实验报告面向对象实验报告面向对象实验报告面向对象实验报告面向对象实验报告

    面向对象的网络协议面向对象的网络协议

    面向对象的网络协议面向对象的网络协议面向对象的网络协议面向对象的网络协议面向对象的网络协议面向对象的网络协议面向对象的网络协议

    面向对象程序设计

    面向对象程序设计 廖裕青 面向对象的软件开发

    面向对象的软件测试面向对象的软件测试

    面向对象的软件测试面向对象的软件测试面向对象的软件测试面向对象的软件测试

    面向对象的软件测试面向对象的软件测试面向对象的软件测试

    面向对象的软件测试面向对象的软件测试面向对象的软件测试面向对象的软件测试面向对象的软件测试

    面向对象程序设计论文

    面向对象程序设计论文面向对象程序设计论文面向对象程序设计论文面向对象程序设计论文面向对象程序设计论文面向对象程序设计论文面向对象程序设计论文面向对象程序设计论文面向对象程序设计论文面向对象程序设计论文...

Global site tag (gtag.js) - Google Analytics