From cdba034bdafc31fb3e807bd22a86949882f6363f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=95=85=E6=98=A5?= <3481369387@qq.com> Date: Thu, 16 Apr 2026 10:56:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E9=AA=8C=E4=BA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 实验二/AnimatedMovie.java | 13 +++++++++++++ 实验二/Movie.java | 28 ++++++++++++++++++++++++++++ 实验二/Test.java | 10 ++++++++++ 实验二/TheatreMovie.java | 13 +++++++++++++ 4 files changed, 64 insertions(+) create mode 100644 实验二/AnimatedMovie.java create mode 100644 实验二/Movie.java create mode 100644 实验二/Test.java create mode 100644 实验二/TheatreMovie.java diff --git a/实验二/AnimatedMovie.java b/实验二/AnimatedMovie.java new file mode 100644 index 0000000..fe4dbfb --- /dev/null +++ b/实验二/AnimatedMovie.java @@ -0,0 +1,13 @@ +public class AnimatedMovie extends Movie { + private String animationStudio; + + public AnimatedMovie(String title, int year, double rating, String genre, String animationStudio) { + super(title, year, rating, genre); + this.animationStudio = animationStudio; + } + + @Override + public void play() { + System.out.println("动画电影,制作公司:" + animationStudio); + } +} diff --git a/实验二/Movie.java b/实验二/Movie.java new file mode 100644 index 0000000..4629d6f --- /dev/null +++ b/实验二/Movie.java @@ -0,0 +1,28 @@ +public abstract class Movie { + private String title; + private int year; + private double rating; + private String genre; + + public Movie() {} + + public Movie(String title, int year, double rating, String genre) { + this.title = title; + this.year = year; + this.rating = rating; + this.genre = genre; + } + + // 抽象方法:由不同类型的电影自己实现播放逻辑 + public abstract void play(); + + // getter & setter + public String getTitle() { return title; } + public void setTitle(String title) { this.title = title; } + public int getYear() { return year; } + public void setYear(int year) { this.year = year; } + public double getRating() { return rating; } + public void setRating(double rating) { this.rating = rating; } + public String getGenre() { return genre; } + public void setGenre(String genre) { this.genre = genre; } +} diff --git a/实验二/Test.java b/实验二/Test.java new file mode 100644 index 0000000..7e391ff --- /dev/null +++ b/实验二/Test.java @@ -0,0 +1,10 @@ +public class Test { + public static void main(String[] args) { + Movie m1 = new TheatreMovie("流浪地球", 2023, 9.0, "科幻", 58.0); + Movie m2 = new AnimatedMovie("哪吒", 2019, 9.5, "动画", "可可豆"); + + m1.play(); + m2.play(); + } +} + diff --git a/实验二/TheatreMovie.java b/实验二/TheatreMovie.java new file mode 100644 index 0000000..cd4c0db --- /dev/null +++ b/实验二/TheatreMovie.java @@ -0,0 +1,13 @@ +public class TheatreMovie extends Movie { + private double ticketPrice; + + public TheatreMovie(String title, int year, double rating, String genre, double ticketPrice) { + super(title, year, rating, genre); + this.ticketPrice = ticketPrice; + } + + @Override + public void play() { + System.out.println("在电影院播放,票价:" + ticketPrice); + } +}