|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
首先我们得知道C语言是面向过程的,而C++和Java是面向结构的。3 B! B. Q0 [( v# V% q& d
6 {0 y5 X$ Z* o
- L& N" o1 X7 Y2 ?; x; O面向过程与面向结构的区别:
# E6 Q/ V3 x8 U( k
N5 A+ m3 B- y, A% ~- C2 \2 @5 e, Y5 q7 K) `6 G% W
面向过程中重用的是过程和函数,但是面向对象重用的是类,一种将数据和处理数据的过程及函数封装在一起的实
- \3 L6 h2 Z0 m( f+ _+ ?/ g4 V8 u. C: h
* R c5 S7 S. ?& T体,面向对象一个很大的好处就是数据 和方法的封装,由此面向对象的三大特性得到发挥。. M* d/ l9 d$ k: \3 k
# e$ J3 f: A1 j% }# E
8 [ ? l5 e- I2 u% P% I( Z面向过程追究的是实现,而面向对象追究的是结果。
- n2 m- E, [' s8 ~0 a2 }! A6 R. u0 E
8 j# C% E8 ~& Q7 T举例来说,从出发点A到目的地B,面向过程要做的是规划每一条路径具体到每一个细节,而面向对象只注重结果,直# ?! B' z+ j* g" W6 d
+ l8 V8 r; {! \3 Q: F# A: x
1 F9 E6 S7 K( [% I1 h# h6 r0 u接上了一辆出租车告诉司机目的地,其他都不用管。6 x6 w3 M% P% r/ u9 k4 D
# n9 o: K! D4 l# ]2 b& r9 f* Z$ M( m
面向结构与面向对象的优点:
6 }( W' ^9 y( i( m" _5 p, I/ d' A* g0 M' D) |
& }; i9 q7 w7 {7 B9 b3 K
面向结构:1、运行效率高;2、移植性好;3、代码简洁紧凑;
# m! R* \+ W- C4 @
1 I* Y# J( t! b5 N/ u: Z; b* b( R& L, n6 z) T
面向对象:1、代码复用性好; 2、代码维护性好; 3、代码拓展性好;
" ~! ]0 m5 @$ W3 q7 d8 A( h
9 q$ I( }2 n9 n1 w6 `1 H7 P3 B4 Y1 k
拓展(以下转自网络):1 v1 n9 J( \7 @3 Q* {% u0 |
; g+ b+ j$ ?/ l7 }% Z z
# V) Z u8 Y; Y8 E
; x& e* b) Q8 u
3 F. G$ Y2 }7 n. y1、从概念方面看,面向结构软件是功能的集合,通过模块以及模块和模块之间的分层调用关系实现;面向对象软件是事物对象的集合,通过对象以及对象和对象之间的通讯联系实现;, h# B3 }- M4 g* o3 R
& M) X& h. o; z+ O8 H$ L3 j! B$ J
2、从构成方面看,面向结构软件是过程和数据的集合,以过程为中心;面向对象软件是数据和相应操作的封装,以对象为中心;7 Z. k0 Q; _+ F+ P
. S Y1 @9 a& @% Q* b4 \
: v# v; H; Q$ V+ V9 n- s- v3、从运行控制方面看,面向结构软件采用顺序处理方式,由过程驱动控制;面向对象软件采用交互式、并行处理方式,由消息驱动控制;
- C! Y% Q5 F, Q# X! W( {0 O% L1 ^
h V0 i! [# \4 Q
0 _5 v$ X& W- B! l! A$ w. N% n4、从开发方面看,面向结构方法的工作重点是设计;面向对象方法的工作重点是分析;但是,在面向结构方法中,分析阶段和设计阶段采用了不相吻合的表达方式,需要把在分析阶段采用的具有网络特征的数据流图转换为设计阶段采用的具有分层特征的软件结构图,在面向对象方法中设计阶段的内容是分析阶段成果的细化,则不存在这一转换问题;9 O% w+ V! T7 L4 I
: n% s& q Z3 f9 t
% {1 l/ X; h+ ~* A$ [/ @5、从应用方面看,相对而言,面向结构方法更加适合数据类型比较简单的数值计算和数据统计管理软件的开发;面向对象方法更加适合大型复杂的人机交互软件的开发。
?( f: D7 J- T P3 t+ F3 N
6 V% F" c, D3 D' Q7 u+ Y" m' r; b( K
8 @% u# c, v: L% Q, r! q% F9 O: l
6 [# x! x0 V8 f' H6 G3 s* R& z: o
" ~6 Y3 R% i4 \& y5 h- V0 }
' R! @( J1 D4 J! q- L7 c z7 q. R2 h w6 h
$ z- b8 S6 a& `6 V; g6 z" ~
|
|