⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 professor.java

📁 一个美国教授写得很好的java学生管理系统
💻 JAVA
字号:
// Professor.java - Chapter 16 version.

// Copyright 2000 by Jacquie Barker - all rights reserved.

// A MODEL class.
package Persons;

import java.util.*;
import Courses.Section;

public class Professor extends Person {
	//------------
	// Attributes.
	//------------

	private String title;
	private String department;
	private Vector teaches; // of Sections

	//----------------
	// Constructor(s).
	//----------------

	public Professor(String name, String ssn, String title, String dept) {
		// Reuse the parent constructor with two arguments.

		super(name, ssn);

		setTitle(title);
		setDepartment(dept);

		// Note that we must instantiate an empty vector.

		teaches = new Vector();
	}
		
	//-----------------
	// Get/set methods.
	//-----------------

	public void setTitle(String title) {
		this.title = title;
	}
	
	public String getTitle() {
		return title;
	}

	public void setDepartment(String dept) {
		department = dept;
	}

	public String getDepartment() {
		return department;
	}

	//-----------------------------
	// Miscellaneous other methods.
	//-----------------------------

	// Used for testing purposes.

	public void display() {
		// First, let's display the generic Person info.

		super.display();
		
		// Then, display Professor-specific info.

		System.out.println("Professor-Specific Information:");
		System.out.println("\tTitle:  " + getTitle());
		System.out.println("\tTeaches for Dept.:  " + getDepartment());
		displayTeachingAssignments();
	}
	
	// We are forced to program this method because it is specified
	// as an abstract method in our parent class (Person); failing to
	// do so would render the Professor class abstract, as well.
	//
	// For a Professor, we wish to return a String as follows:
	//
	// 	Josephine Blow (Associate Professor, Math)

	public String toString() {
		return getName() + " (" + getTitle() + ", " +
		       getDepartment() + ")";
	}

	public void displayTeachingAssignments() {
		System.out.println("Teaching Assignments for " + getName() + ":");
		
		// We'll step through the teaches Vector, processing
		// Section objects one at a time.

		if (teaches.size() == 0) 
			System.out.println("\t(none)");

		else for (int i = 0; i < teaches.size(); i++) {
			// Because we are going to need to delegate a lot of the effort
			// of satisfying this request to the various Section objects that
			// comprise the Professor's teaching load, we "pull" the Section 
			// object once, and refer to it by a temporarily handle.

			Section s = (Section) teaches.elementAt(i);

			// Note how we call upon the Section object to do
			// a lot of the work for us!

			System.out.println("\tCourse No.:  " +
				s.getRepresentedCourse().getCourseNo());
			System.out.println("\tSection No.:  " + 
				s.getSectionNo());
			System.out.println("\tCourse Name:  " +
				s.getRepresentedCourse().getCourseName());
			System.out.println("\tDay and Time:  " +
				s.getDayOfWeek() + " - " + 
				s.getTimeOfDay());
			System.out.println("\t-----");
		}
	}
	
	public void agreeToTeach(Section s) {
		teaches.addElement(s);

		// We need to link this bidirectionally.
		s.setInstructor(this);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -