第4章面向对象技术下.docVIP

  • 5
  • 0
  • 约3.04万字
  • 约 42页
  • 2017-10-07 发布于重庆
  • 举报
第4章面向对象技术下

第4章 面向对象(下) 4.1 类的继承 面向对象的重要特色之一就是能够使用以前建造的类的方法和属性。通过简单的程序代码来建造功能强大的类,会节省很多编程时间,而且更为重要的是,这样做可以减少代码出错的机会。类的继承讲的就是这方面的问题。 4.1.1 继承的特点 我们还是通过一个实际应用问题,来引出类的继承这个问题的讲解。 我们常常在编程中遇到下面的情况 public class Person { public String name; public int age; public String getInfo() {...} } public class Student { public String name; public int age; public String school; public String getInfo() {...} public String study(){...} } 在上面的程序中,我们先定义了一个Person类来处理个人信息,定义一个Student类来处理学生信息,结果发现Student类中包含了Person类的所有属性和方法。 public class Person { public String name; public int age; public String getInfo() {...} } public class Student extends Person { public String school; public String study(){...} } 完整代码如下: 程序清单:Student.java class Person { public String name; public int age; public Person(String name,int age) { this.name=name; this.age=age; } public Person() //如果你不写这个构造函数,看看对类Student有什么影响。 { } public void getInfo() { System.out.println(name); System.out.println(age); } } class Student extends Person { public void study() { System.out.println(Studding); } public static void main(String[] args) { Person p=new Person(); p.name=person; p.age=30; p.getInfo(); Student s=new Student(); s.name=student; s.age=16; s.getInfo(); s.study(); } } 要在以前的类上构造新类,必须要在新类的声明中扩展以前的类。通过扩展一个超类,你可以得到这个类的一个拷贝,并可以在这个基础上添加新的属性和方法。如果你对这个新类并不做什么添加工作,那么它的工作情况会与超类完全相同。新类中会含有超类所声明或继承的所有属性和方法。在类的继承中,有这样的一些细节问题: 1).通过继承可以简化类的定义,我们已经在上面的例子中了解到了。 2).Java只支持单继承,不允许多重继承。在Java中,一个子类只能有一个父类,不允许一个类直接继承多个类,但一个类可以被多个类继承,如类X不可能既继承类Y又继承类Z。 3).可以有多层继承,即一个类可以继承某一个类的子类,如类B继承了类A,类C又可以继承类B,那么类C也间接继承了类A。这种应用如下所示: class A {} class B extends A {} class C extends B {} 4).子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法。在子类的构造方法中可使用语句super(参数列表) 调用父类的构造方法。如:我们为Student类增加一个构造方法,在这个构造方法中我们用su

文档评论(0)

1亿VIP精品文档

相关文档