当前位置: 首页 > 开发语言 > JAVA谈谈java中的继承与组合

JAVA谈谈java中的继承与组合

JAVA谈谈java中的继承与组合内容导读: 1.继承和组合的概念 在新类里简单地创建原有类的对象。我们把这种方法叫作“组合”,因为新类由现有类的对象合并而成。我们只是简单地重复利用代码的功能,而不是采用它的形式。 第二种方法是创建一个新类,将其作为现有类的一个“类型”。我们可以原样采取...

  1.继承和组合的概念

  在新类里简单地创建原有类的对象。我们把这种方法叫作“组合”,因为新类由现有类的对象合并而成。我们只是简单地重复利用代码的功能,而不是采用它的形式。

  第二种方法是创建一个新类,将其作为现有类的一个“类型”。我们可以原样采取现有类的形式,并在其中加入新代码,同时不会对现有的类产生影响。这种魔术般的行为叫作“继承”(inheritance),涉及的大多数工作都是由编译器完成的。对于面向对象的程序设计,“继承”是最重要的基础概念之一。对于组合和继承这两种方法,大多数语法和行为都是类似的(因为它们都要根据现有的类型生成新类型)。

  2.组合也就是一个类的对象是另外一个类的成员,一般的程序都有组合的意味,只不过是基本数据类型是成员变量,下面请看具体的例子

  classhead

  JAVA{

  head(){

  system.out.println("head");

  }

  }

  classbody

  {

  body(){

  system.out.println("body");

  }

  }

  classperson()

  {

  headh=null;

  bodyb=null;

  person()//人是由头和身体组成的,head和body的对象是person的一部分

  {

  h=newhead();

  b=newbody();

  }

  }

  3.继承作为面向对象的三个重要特性的一个方面,在面向对象的领域有着及其重要的作用,好像没听说哪个面向对象的语言不支持继承

  classperson

  {

  privatestringname=null;

  privateintage=0;

  publicperson(stringn,inta)

  {

  name=n;

  age=a;

  }

  intgetage()

  {

  returnage;

  }

  stringgetname()

  {

  returnname;

  }

  voidgetdescription()

  {

  system.out.println("name:"+name+"\t"+"age:"+age);

  }

  }

  classstudentextendsperson

  {

  privatestringstudno=null;

  publicstudent(stringn,stringno,inta)

  {

  super(n,a);

  studno=no;

  }

  }

  说明:student类中有三个成员变量name,age,studno和一个方法getdescription();

  注意:子类继承了父类的所有变量和函数,只是子类不能访问父类的private类型的变量和函数,其实privae类型的变量还是继承到子类中的

  4.

  无论还是继承,都允许我们将子对象置于自己的新类中。大家或许会奇怪两者间的差异,以及到底该如何选择。

  如果想利用新类内部一个现有类的特性,而不想使用它的接口,通常应选择组合。也就是说,我们可嵌入一个对象,使自己能用它实现新类的特性。但新类的用户会看到我们已定义的接口,而不是来自嵌入对象的接口。考虑到这种效果,我们需在新类里嵌入现有类的private对象。

  有些时候,我们想让类用户直接访问新类的组合。也就是说,需要将成员对象的属性变为public。成员对象会将自身隐藏起来,所以这是一种

关于JAVA谈谈java中的继承与组合,其他人还感兴趣的是:
  ·java与delphi相比哪一个更容易入门?谢谢!!
  ·JAVA关于java??
  ·java是什么啊?
  ·JAVA什么是java?我要全面的答案
  ·关于java语言,和c语言有什么联系吗?
  ·java开发:实现类隐藏及应用

如果觉得此内容不错,那就推荐给好友看看吧:
  本文标题:JAVA谈谈java中的继承与组合
  本文地址:http://www.zxbc.cn/kfyy/0903820.html
------分隔线----------------------------