Java 面向对象编程示例:模拟学校系统
Java 面向对象编程示例:模拟学校系统
本文通过 Java 代码示例,展示了如何使用面向对象编程的思想来模拟一个简单的学校系统。代码涵盖了普通人类、老师类、班主任类、学生类和学校类,并通过继承和封装等机制实现类之间的关系,以及相应的方法模拟其行为。
包名:com.school
普通人类
package com.school;
/**
* 普通人类
*/
public class Person {
private String name; // 姓名
private int age; // 年龄
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
老师类
package com.school;
/**
* 老师类,继承自普通人类
*/
public class Teacher extends Person {
private String subject; // 所教科目
public Teacher(String name, int age, String subject) {
super(name, age);
this.subject = subject;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
/**
* 教学方法
*/
public void teach() {
System.out.println(getName() + '正在教' + subject);
}
}
班主任类
package com.school;
/**
* 班主任类,继承自老师类
*/
public class ClassTeacher extends Teacher {
private String className; // 班级名称
public ClassTeacher(String name, int age, String subject, String className) {
super(name, age, subject);
this.className = className;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
/**
* 管理班级方法
*/
public void manageClass() {
System.out.println(getName() + '正在管理' + className + '班级');
}
}
学生类
package com.school;
/**
* 学生类,继承自普通人类
*/
public class Student extends Person {
private String className; // 班级名称
public Student(String name, int age, String className) {
super(name, age);
this.className = className;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
/**
* 学习方法
*/
public void study() {
System.out.println(getName() + '正在学习');
}
}
学校类
package com.school;
/**
* 学校类
*/
public class School {
private String name; // 学校名称
private String address; // 学校地址
public School(String name, String address) {
this.name = name;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
/**
* 招生方法
*/
public void recruit() {
System.out.println('学校正在招生');
}
/**
* 举办活动方法
*/
public void holdActivity() {
System.out.println('学校正在举办活动');
}
}
主类
package com.school;
public class Main {
public static void main(String[] args) {
School school = new School('XX小学', 'XX街道XX号');
school.recruit();
school.holdActivity();
ClassTeacher classTeacher = new ClassTeacher('张老师', 35, '语文', '一年级一班');
classTeacher.teach();
classTeacher.manageClass();
Student student = new Student('小明', 7, '一年级一班');
student.study();
}
}
原文地址: https://www.cveoy.top/t/topic/mNMc 著作权归作者所有。请勿转载和采集!