A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

是我昨天去深圳一个软件公司的面试题,应该不是很难吧
回复 使用道具 举报
面向对象程序设计和结构化程序设计的区别(今天去面试的一道题目)?

8 个回复

倒序浏览
这两种程序设计是软件开发程序设计中的2个核心的编程思想,这两种语言不仅表现在程序语言、设计方法、设计上的差异。更是开发思想和开发角度上的差异。
区别:
1.首先最根本的是设计思想,一个是以对象为基本单元,用对像的使用来完成程序功能,后者是基于过程的设计,比如你要做一个赛车的函数,在利用面向对象设计时,你先写好轮子类,发动机类,方向盘类。。。再将他们组合起来。而面向结构化是一模块为基本单位,例如你操作赛车是要进行的动作。
2..然后是他们的适用范围,越来越多的应用程序,web程序选择使用面向对象设计,有利于代码重用,消除BUG等等,但基层的程序大多会选择面向结构化的程序。
回复 使用道具 举报
去哪的面试啊,难道是黑马的面试,,这么难啊
回复 使用道具 举报
本帖最后由 仵先进 于 2012-2-29 09:08 编辑

结构化设计(Structure Programming,SP) 
SP方法主张使用顺序、选择、循环三种基本结构来嵌套连结成具有复杂层次的“结构化程序”,严格控制GOTO语句的使用。用这样的方法编出的程序在结构上具有以下效果:

  (1) 以控制结构为单位,只有一个入口,一个出口,所以能独立地理解这一部分。

  (2) 能够以控制结构为单位,从上到下顺序地阅读程序文本。

  (3) 由于程序的静态描述与执行时的控制流程容易对应,所以能够方便正确地理解程序的动作。
SP的要点是:“自顶而下,逐步求精”的设计思想,“独立功能,单出、入口”的模块仅用3种(顺序、分支、循环)基本控制结构的编码原则





面向对象的程序设计(Object Orient Programming,OOP)
技术的一大局限性就是:它对软件职责的划分是“垂直”的。在一个标准的对象继承体系中,每一继承类主要是负责软件系统中一个特定部分的功能,对象的行为是在编译期间被决定的。OO技术的另一大问题是接口问题。在传统的OO环境下,对象开发者没有任何办法确保使用者按照自己的要求来使用接口
回复 使用道具 举报
这就是去黑马的面试题吗,,,完蛋了,,,求解啊,,,这个好难啊,,,,考思想了都
回复 使用道具 举报
面向对象必须具备的3种特征:继承,多态和封装。面向对象大大提高了代码的复用性,
而面向结构,又可以叫面向过程,他注重的是处理问题的过程。而非对象。
他们只是一种设计思想。对于我们来说处理问题是,只要那个跟好用就用那个。
回复 使用道具 举报
这就是去黑马的面试题吗,,,完蛋了,,,求解啊,,,这个好难啊,,,,考思想了都,这样太难了吧
回复 使用道具 举报
陈斌 中级黑马 2012-2-29 12:13:01
9#
结构化编程是针对汇编那种方式的去掉了goto等让程序看起来很乱的语法,讲究的是顺序结构化;
面向对象是类的思想,通过继承多态等实现程序共享,更适合大型程序的编制.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马