1. 首页
  2. 软件开发
  3. 电影管理系统

电影管理系统

  • 发布于 2024-09-21
  • 0 次阅读

目录

MovieSystem 类

代码分析

Movie 类

代码分析

User 类

代码分析

Business 类

代码分析

Customer 类

代码分析

总结



在本篇博客中,我们将分析一个简单的Java项目,该项目模拟了一个电影管理系统。系统由五个主要类组成:MovieSystem、Movie、User、Business和Customer。每个类都扮演着不同的角色,协同工作以实现系统的功能。让我们逐一了解这些类的实现。

MovieSystem 类

首先,我们来看MovieSystem类。这个类的主要功能是管理电影信息,并通过控制台与用户交互。


import java.util.Scanner;

public class MovieSystem {
    private String name;
    private int year;
    private String rating;

    public MovieSystem() {
        name = "Inception";
        year = 2010;
        rating = "PG";
    }

    public MovieSystem(String name, int year, String rating) {
        this.name = name;
        this.year = year;
        this.rating = rating;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setYear(int year) {
        this.year = year;
    }

    public int getYear() {
        return year;
    }

    public void setRating(String rating) {
        this.rating = rating;
    }

    public String getRating() {
        return rating;
    }

    public void display() {
        System.out.println("Movie: " + name);
        System.out.println("Year: " + year);
        System.out.println("Rating: " + rating);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.println("Enter the movie name:");
        String movieName = sc.nextLine();

        System.out.println("Enter the release year:");
        int releaseYear = sc.nextInt();
        sc.nextLine(); // Consume newline character

        System.out.println("Enter the rating:");
        String movieRating = sc.nextLine();

        MovieSystem movie = new MovieSystem(movieName, releaseYear, movieRating);
        movie.display();

        sc.close();
    }
}

代码分析

  • 成员变量 :name、year和rating用于存储电影的名称、年份和评级。
  • 构造函数:提供了默认构造函数和带参数的构造函数,允许创建具有默认或特定信息的电影对象。
  • 方法 :包括设置和获取电影信息的方法,以及用于显示电影信息的display方法。
  • 主方法 :通过Scanner类与用户交互,获取电影信息并显示。

Movie 类

接下来,我们来看Movie类,该类用于表示一个电影对象。

public class Movie {
    private String title;
    private int releaseYear;
    private String genre;
    private double rating;

    public Movie(String title, int releaseYear, String genre, double rating) {
        this.title = title;
        this.releaseYear = releaseYear;
        this.genre = genre;
        this.rating = rating;
    }

    public String getTitle() {
        return title;
    }

    public int getReleaseYear() {
        return releaseYear;
    }

    public String getGenre() {
        return genre;
    }

    public double getRating() {
        return rating;
    }

    public void displayInfo() {
        System.out.println("Title: " + title);
        System.out.println("Release Year: " + releaseYear);
        System.out.println("Genre: " + genre);
        System.out.println("Rating: " + rating);
    }
}

代码分析

  • 成员变量 :title、releaseYear、genre和rating用于存储电影的详细信息。
  • 构造函数:允许创建一个带有详细信息的电影对象。
  • 方法 :包括用于访问电影信息的getter方法和用于显示信息的displayInfo方法。

User 类

User类表示系统中的用户,包括基本的用户信息。

public class User {
    private String username;
    private String password;

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public boolean authenticate(String password) {
        return this.password.equals(password);
    }
}

代码分析

  • 成员变量 :username和password存储用户的登录信息。
  • 构造函数:用于初始化用户信息。
  • 方法 :包括获取用户名的方法和用于验证密码的authenticate方法。

Business 类

Business类用于表示一个商业用户,继承自User类,并增加了商业用户特有的信息。

public class Business extends User {
    private String businessName;

    public Business(String username, String password, String businessName) {
        super(username, password);
        this.businessName = businessName;
    }

    public String getBusinessName() {
        return businessName;
    }
}


代码分析

  • 继承关系 :Business继承自User类,重用了用户认证的功能。
  • 新增成员变量 :businessName用于存储商业用户的公司名称。
  • 构造函数:初始化商业用户的信息。

Customer 类

Customer类表示普通用户,继承自User类,增加了一些消费者特有的信息。

public class Customer extends User {
    private String email;

    public Customer(String username, String password, String email) {
        super(username, password);
        this.email = email;
    }

    public String getEmail() {
        return email;
    }
}

代码分析

  • 继承关系 :Customer类继承自User类。

  • 新增成员变量 :email用于存储消费者的邮箱地址。

  • 构造函数:用于初始化消费者的信息。
    *

    总结

    通过以上分析,我们了解了一个简单的Java电影管理系统的基本构建方式。该系统通过多个类协同工作,以面向对象的方式管理电影和用户信息。每个类都承担了特定的职责,遵循了单一责任原则,使得代码清晰易于维护。这种设计模式在现实开发中非常常见,尤其是在需要管理复杂数据结构的应用中。

    如有任何问题或需要进一步的解释,请随时留言!

原文链接: https://blog.csdn.net/2302_80084329/article/details/141003428