Source of TestPeople.java


  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: }