3278 7840

1100111010001110 1001010010001010

继承

“继承”(Inheritance)是面向对象软件技术当中的一个概念,例如在java语言中,java语言中不支持多重继承,是通过接口实现多重继承的功能。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。尽管子类包括父类的所有成员,它不能访问父类中被声明成private 的成员 ...

  继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的"父亲",而这些子实体则是汽车的"孩子"。

  继承的目的:实现代码重用

  派生类声明:

  class 派生类名:继承方式 基类名

  {

  新增成员声明;

  };

  三种继承方式

  公有继承 public (原封不动)

  保护继承 protected (折中)

  私有继承 private (化公为私)

  继承方式影响子类的访问权限:

  派生类成员对基类成员的访问权限

  通过派生类对象对基类成员的访问权限

  同类事物具有共同性,在同类事物中,每个事物又具有其特殊性。运用抽象的原则舍弃对象的特殊性,抽取其共同性,则得到一个适应于一批对象的类,这便是基类(父类),而把具有特殊性的类称为派生类(子类),派生类的对象拥有其基类的全部或部分属性与方法,称作派生类对基类的继承。

  1、我们先建立基类BaseClass.class,然后再从该类派生新类InherienceTest,展示从基类派生的方法(Methord)及基类构造函数的执行。

  package InherienceTest.BaseClass;//package 后能被继承,不过不能执行

  public class BaseClass

  {

  public BaseClass(){

  System.out.println("I’m the Constructor Function in BaseClass!");

  }

  protected static void FuncTest(){

  System.out.println("This is a Function Test in BaseClass!");//Static Methord

  }

  public static void main(String[] args){

  FuncTest();

  System.out.println("This is the BaseClass!");

  System.out.println(new java.util.Date());

  }

  };

  import InherienceTest.BaseClass.BaseClass;//相当于路径:path & InherienceTest\BaseClass\BaseClass.class

  public class

  InherienceTest extends BaseClass//注意:public主类名必须和文件名相同

  {

  //基类不能和派生类在同一目录下面。

  public static void main(String[] args)

  //main函数必须是pulic static

  {

  InherienceTest xx=new InherienceTest();//构造函数被执行

  xx.FuncTest();

  //调用继承的方法

  System.out.println("Hello World!");

  }

  }

posted on 2009-06-15 20:56 逍遥晨空 阅读(118) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: