a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 103|回复: 0

[基础知识] Java学习知识点要求(5)

[复制链接]
发表于 2012-8-4 12:37:27 | 显示全部楼层 |阅读模式
Java学习知识点要求(5)
. ?1 ^1 R- ^0 m6 U0 H8、组合的作用,组合与继承的区别及使用方法。
: s0 v' H) ]6 b# g( k在新类里简单地创建原有类的对象。我们把这种方法叫作“组合”,因为新类由现有类的对象合并而成。我们只是简单地重复利用代码的功能。
9 ~7 k, w  k+ s: W0 K) S组合也就是一个类的对象是另外一个类的成员,一般的程序都有组合的意味,只不过是基本数据类型是成员变量,下面请看具体的例子# m' }+ b. j8 T# A" |+ X" E

! L( J" B8 h* J8 h4 h4 s class Head* V1 E+ @, I! R$ J) y( F$ I) x
{      
$ O, Q- _' A% h, o0 ^' X4 i$ o3 ~      Head(){# ]- T1 P" U+ v) |
      System.out.println(" head "); }}5 K. ?5 {  g5 l) Q. u

( d! U' [3 [3 f; T8 Tclass Body
  h; _: ?( I) b{      1 R. e( B! U5 l/ C
Body(){
. U$ r6 O% [9 k  W( w      System.out.println(" body ");}}3 e% W1 V9 ]- I+ z1 Y* o
, n0 J7 R, |2 K2 {1 I5 h
class Person()3 {/ H' p. W1 U+ B: Z& S
{     9 S$ u& C% H0 I- ^9 b
Head h=null;' Q4 i1 X/ T# D: J% N+ y# T
      Body b=null;
; O9 Q7 G: g1 ^0 L1 C7 B  jPerson() //人是由头和身体组成的,Head和Body的对象是Person的一部分
5 j1 d9 j% B. k6 o    {   h=new Head();% p% P" U6 @9 F- h
      b =new Body();
9 n4 A! z& ^5 j1 P) F: o9 ?6 m& v( `    }}
! ?$ G- F" I# H 8 g2 h9 l/ y' O0 T$ ~
组合关系和继承关系相比,前者的最主要优势是不会破坏封装,当类A与类C之间为组合关系时,类C封装实现,仅向类A提供接口;而当类A与类C之间为继承关系时,类C会向类A暴露部分实现细节。在软件开发阶段,组合关系虽然不会比继承关系减少编码量,但是到了软件维护阶段,由于组合关系使系统具有较好的松耦合性,因此使得系统更加容易维护。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-7 09:34 , Processed in 0.424942 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表