// 告诉电脑我们要用“系统功能” —— 比如输出文字、读取时间等等
using System;
// 给所有代码找一个“家”,这个家叫做 BoxApplication
// 以后写大型程序时,能更好地分类管理代码
namespace BoxApplication
{
// 📘 我们要记录的动画片叫做“番剧”,所以我们创建一个类叫“番剧”
// “类”就像是一本说明书,告诉电脑:每一部番剧都应该有什么内容
class 番剧
{
// ✏️ 先定义一个“年份”变量,用来存番剧是哪一年播出的
// 我们写成 private,表示这个内容不能被别人随便改
private int 年份;
// 🏢 然后我们再写一个“制作公司”,比如“京阿尼”、“SHAFT”
// 我们写成 public,表示谁都能读取和修改它
// get 是“读取内容”,set 是“修改内容”
public string 制作公司 { get; set; }
// 🎯 为了让别人可以“安全地设置年份”,我们提供一个“门”
// 这扇门就是“年份属性”,别人通过它来设定年份(会自动检查)
public int 年份属性
{
get
{
// 如果别人问“这部番剧是哪年播的?”我们就告诉他“年份”
return 年份;
}
set
{
// 如果别人给了一个年份,我们要先检查一下是否合理
// 比如年份要大于1900,不能是负数或未来
if (value >= 1900 && value <= DateTime.Now.Year)
{
年份 = value; // 合理就设置进去
}
else
{
// 不合理的话,我们自动设置成“今年”
Console.WriteLine("你输入的年份不对,我就自动改成今年哦!");
年份 = DateTime.Now.Year;
}
}
}
// 🧱 这是一个“构造函数”,就像盖房子的工具
// 每次我们用 new 创建一部番剧时,这段代码就会自动执行
// 它要求你提供两个内容:年份 和 制作公司
public 番剧(int year, string company)
{
年份属性 = year; // 把传进来的年份通过“属性”设置进去(会检查)
制作公司 = company; // 把公司名字也设置进去
}
// 📣 这是一个“介绍自己”的方法
// 当我们说:某部番剧,请你介绍自己,它就会运行这个方法
public virtual void 播放信息()
{
// 用 Console 把信息显示到屏幕上
Console.WriteLine($"这是一个番剧,由 {制作公司} 制作,首播年份是 {年份} 年。");
}
}
// 🧸 现在我们来创建一个“搞笑番”类,它是一种特殊的番剧
// 所以它继承(继承就是“我拿父母的能力来用”)自 番剧 类
class 搞笑番 : 番剧
{
// 😆 搞笑番除了有公司和年份,还多了一个“笑点风格”
public string 笑点风格 { get; set; }
// 🛠️ 这是搞笑番的“构造函数”,要求你提供:年份、公司、风格
// 用 base(...) 表示调用父类(番剧)的构造函数,先把年份和公司设置好
public 搞笑番(int year, string company, string 风格)
: base(year, company)
{
笑点风格 = 风格; // 设置风格
}
// 📣 重写父类的“介绍方法”,因为搞笑番要多介绍自己的风格
public override void 播放信息()
{
// 先用 base 播放信息,调用父亲的介绍方法
base.播放信息();
// 然后再加一句:我是搞笑番,风格是什么
Console.WriteLine($"这是一部搞笑番,笑点风格是:{笑点风格}");
}
}
// 🎬 主程序开始的地方
// 所有 C# 程序都是从 Main 方法开始运行的,就像动画片的第一集
class Program
{
static void Main(string[] args)
{
// 🧾 我们创建一个普通的番剧,2018年,京阿尼制作
番剧 正常番 = new 番剧(2018, "京阿尼");
// 😂 创建一个搞笑番,2020年,SHAFT制作,风格是“无厘头”
搞笑番 笑番 = new 搞笑番(2020, "SHAFT", "无厘头");
// 📢 让这两部番剧介绍一下自己
正常番.播放信息();
Console.WriteLine(); // 空一行,让输出更美观
笑番.播放信息();
// 🛑 最后等用户按一下回车键,不然程序一闪而过
Console.WriteLine("\n按回车键退出程序...");
Console.ReadLine();
}
}
}
c#woooo
7 mins.
3023
7
评论区