University of Toronto - Fall 2000
Department of Computer Science
Week 11 - Inheritance
Inheritance
class Person {
private String name;
private String birthdate; // maybe Date would
// be a better type?
public Person (String name, String bdate) {
this.name = name;
this.birthdate = bdate;
}
public String getName() {
return name;
}
public String getInfo() {
String result = "Name: " + name;
result += "\nBirthdate: " + birthdate;
return result;
}
}
import java.io.*;
public class School {
public static void main (String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader
(System.in));
int size = 10;
Student[] list = new Student [size];
for (int i=0; i < list.length; i++) {
String name = in.readLine();
String bdate = in.readLine();
String stunum = in.readLine();
list[i] = new Student (name, bdate, stunum);
}
for (int i=0; i < size; i++) {
System.out.println (list[i].getInfo());
}
}
}
class Student extends Person {
private String stunum;
public Student (String n, String b, String s) {
super (n, b);
this.stunum = s;
}
public String getStunum() {
return stunum;
}
// We want a more informative getInfo, so we
// redefine it, or override it.
public String getInfo() {
String result = super.getInfo();
result += "\nStudent number: " + stunum;
return result;
}
}