public class TestPeople
1: package inheritance;
3: import java.util.Scanner;
5: /**
6: * A program to demonstrat various bits of inheritance.
7: *
8: * @author Mark Young (A00000000)
9: */
10: public class TestPeople {
12: public static void main(String[] args) {
13: // simple inheritance
14: introduceSelf();
15: testPersonClass();
16: testStudentClass();
17: testUndergradClass();
18: testGradStudentClass();
19:
20: // public and private methods
22: // Overriding
24: }
26: private static void introduceSelf() {
27: System.out.println("\n\n"
28: + "Testing Inheritance using Person and Student\n"
29: + "--------------------------------------------\n\n"
30: + "Inheritance is when one class 'extends' another.\n"
31: + "In this example Student extends Person.");
32: pause();
33: }
35: private static void testPersonClass() {
36: // create Persons and do peron-y things with them
37: System.out.println("Creating Persons Bob and Cathy");
38: Person bob = new Person("Bob");
39: Person cathy = new Person("Cathy");
40: System.out.println("Persons have names:");
41: System.out.println("\tbob.getName() returns " + bob.getName());
42: System.out.println("\tcathy.getName() returns " + cathy.getName());
43: pause();
44: }
46: private static void testStudentClass() {
47: // create Persons and do peron-y things with them
48: System.out.println("Creating Students Alexander and Djenaba");
49: Student alex = new Student("Alexander");
50: Student djen = new Student("Djenaba");
51: System.out.println("Students have A-Numbers:");
52: System.out.println("\talex.A_NUMBER is " + alex.A_NUMBER);
53: System.out.println("\tdjen.A_NUMBER is " + djen.A_NUMBER);
54: pause();
56: // do some grade stuff
57: System.out.println("Students have grades:");
58: alex.setGrade(80);
59: djen.setGrade(85);
60: System.out.println("\talex.getGrade() is " + alex.getGrade());
61: System.out.println("\tdjen.getGrade() is " + djen.getGrade());
62: pause();
64: // do some Person stuff
65: System.out.println("Students are Persons, and Persons have names:");
66: System.out.println("\talex.getName() is " + alex.getName());
67: System.out.println("\tdjen.getName() is " + djen.getName());
68: pause();
69: }
71: private static void testUndergradClass() {
72: // create Persons and do peron-y things with them
73: System.out.println("Creating Undergrads Ellen and Frank");
74: Undergrad ellen = new Undergrad("Ellen", 3);
75: Undergrad frank = new Undergrad("Frank");
76: System.out.println("Undergrads have years:");
77: System.out.println("\tellen.getYear() is " + ellen.getYear());
78: System.out.println("\tfrank.getYear() is " + frank.getYear());
79: pause();
81: // do some grade stuff
82: System.out.println("Undergrads are Students, and so:");
83: ellen.setGrade(70);
84: frank.setGrade(75);
85: System.out.println("\tellen.A_NUMBER is " + ellen.A_NUMBER);
86: System.out.println("\tfrank.A_NUMBER is " + frank.A_NUMBER);
87: System.out.println("\tellen.getGrade() is " + ellen.getGrade());
88: System.out.println("\tfrank.getGrade() is " + frank.getGrade());
89: pause();
91: // do some Person stuff
92: System.out.println("Undergrads are Students, "
93: + "and Students are Persons, so:");
94: System.out.println("\tellen.getName() is " + ellen.getName());
95: System.out.println("\tfrank.getName() is " + frank.getName());
96: pause();
97: }
99: private static void testGradStudentClass() {
100: // create Persons and do peron-y things with them
101: System.out.println("Creating GradStudents geety and harry");
102: GradStudent geety = new GradStudent("Geety", "BSc");
103: GradStudent harry = new GradStudent("Harry", "BSc, MMath");
104: System.out.println("GradStudents have previous degrees:");
105: System.out.println("\tgeety.getPreviousDegree() is "
106: + geety.getPreviousDegree());
107: System.out.println("\tharry.getPreviousDegree() is "
108: + harry.getPreviousDegree());
109: pause();
111: // do some grade stuff
112: System.out.println("Undergrads are Students are Persons....");
113: geety.setGrade(90);
114: harry.setGrade(95);
115: System.out.println("\tgeety.A_NUMBER is " + geety.A_NUMBER);
116: System.out.println("\tharry.A_NUMBER is " + harry.A_NUMBER);
117: System.out.println("\tgeety.getGrade() is " + geety.getGrade());
118: System.out.println("\tharry.getGrade() is " + harry.getGrade());
119: System.out.println("\tgeety.getName() is " + geety.getName());
120: System.out.println("\tharry.getName() is " + harry.getName());
121: pause();
122: }
124: public static void pause() {
125: Scanner kbd = new Scanner(System.in);
126: System.out.print("\nPress enter...");
127: kbd.nextLine();
128: System.out.println("\n\n\n\n");
129: }
131: }