面向对象与结构化编程区别及异同
来源:互联网 发布:java打包没有lib文件 编辑:程序博客网 时间:2024/06/18 16:02
结构化编程的语言主流的是c语言,采用结构化的编程方式,主要用来编写操作系统。特点:语言灵活非常接近底层,对硬件有强大的访问能力。对于一个比较复杂的系统,往往是自顶向下,逐步求精,分模块的思想来编写。各个模块单独负责完成一个功能。最后通过拼接的方式来组成整个有机的系统。缺点:数据与操作分离,软件极不容易复用,好比已经有一个本科生的学生管理系统,如果要再开发一个研究生学生管理系统,代码可利用性非常低。绝大多数代码都要重写。对于需求经常变动的系统,适应能力极差。适合需求稳定,长期内不会发生太大改变的系统开发。数据与操作分离:既是说数据结构与对数据结构的操作没有封闭,数据结构的改变的会引用相应用到这些结构的代码片段。对于数据结构用到的代码都需要重写(因为不同的数据结构具有不同操作方式,所以结构变了方式必然改变)。
面向对象编程的语言主要有Java,C++等语言。好处在于:1.数据与操作统一封装在对象内做为一个基本单元。只要对外的接口不变,单元内的数据结构的改变,不会影响到调用此对象的代码。也就是说不会产生任何的影响。2.极大的提高了软件复用的水平,采用继承的方式,可以继承到父类的全部属性与方法,不需要重建轮子!。3.具有了可继承的能力还是不够的,需要多态。多态出现的背景就是说,继承可以得到父类的所有,但现在子类有自己独特的一面。子类在继承了父类方法的同时,可以改变父类的方法,而用自己独特的处理方式来解决。这就是要多态性。体现在父类对象指向子类对象,当调用父类对象的方法时,系统自动采用子类这个方法的实现方式。总结起来:1.封闭性 2.继承性 3.多态性 。适合的系统:对于需要经常变动的系统具有极强的适应能力。因为对象与对象的调用都是通过信息(即函数调用)来操作。
一个新系统的开发方式:如何来分析与设计
面向对象软件工程包含下面的几个方面:
1.面向对象的分析(ooa)
2.面向对象的设计(ood) //这个阶段会用到相应的设计语言uml
3.面向对象编码(oop) //需要编程语言,如c++的技能
4.面向对象测试(oot)
5面向对象软件维护(oosm)
对于一个开发人员来说,只有同时具备上面的技能,才是一个真正的程序员,而不是代码工人。才能够设计出自己的系统
转自我的个人技术网站
- 面向对象与结构化编程区别及异同
- 面向对象与结构化编程区别及异同
- 面向对象编程与结构化编程
- 面向结构化编程与面向对象编程
- 面向结构与面向对象的区别
- OOP(面向对象编程) 和 OPP(面向过程编程) 的异同点及系统总结
- OOP(面向对象编程) 和 OPP(面向过程编程) 的异同点及系统总结
- 面向过程(面向结构)与面向对象的区别
- 面向对象方法论与结构化方法论的本质区别
- 结构化与面向对象
- 面向结构与面向对象的特点与区别
- 面向对象编程和结构化编程
- 面向对象编程与面向过程编程的区别
- 面向对象和面向结构的编程特点和区别
- 面向过程 与 面向对象的特点及区别
- 结构化程序设计与面向对象浅析
- 面向对象与面向过程(面向结构)
- C#的类与结构,以及面向对象编程思想
- ICTCLAS分词系统研究(九)--对最终结果做优化调整
- 输入输出重定向
- bitblt 和stretchblt的区别 解释、、、
- HDU 3123 GCC(模运算)
- ICTCLAS分词系统研究(十)--后记
- 面向对象与结构化编程区别及异同
- json-lib-2.4-jdk15.jar 组装json字符串
- 不用临时变量实现变量转换
- Android 边用边学 之 获取系统内安装的软件信息
- 鸟哥的关于 suid sgid sbit 这些特殊权限 (二)
- 中科院中文分词系统ICTCLAS之人名识别词典分析
- Android ADT17及以上版本开发添加第三方jar包编译通过,运行时出现 “NoClassDefFoundError
- 代理类:接口与实现的分离
- 中科院中文分词系统ICTCLAS之CSegment的GenerateWord()详细分析