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();
    }
}
Java 面向对象编程示例:模拟学校系统

原文地址: https://www.cveoy.top/t/topic/mNMc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录