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