面向对象与结构化编程区别及异同

来源:互联网 发布: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)

 

对于一个开发人员来说,只有同时具备上面的技能,才是一个真正的程序员,而不是代码工人。才能够设计出自己的系统


转自我的个人技术网站


原创粉丝点击