项目结构
本课属于 Coddy C# 学习旅程的“面向对象编程”单元。第 62 课,共 70 课。
挑战
简单让我们为你的 Library System 项目打好基础!你将创建基本的文件结构,并在接下来的课程中逐步扩展它,最终构建成完整的图书馆管理应用程序。
你将把代码组织到 4 个文件中,每个文件都有特定的职责:
Book.cs:这个文件将存放 Book 模型。现在,先在LibrarySystem命名空间中创建一个Book类,并为它添加 3 个自动实现的属性:Title(字符串)、Author(字符串)和IsAvailable(布尔值,默认值为true)。再添加一个以书名和作者为参数的构造函数。User.cs:这个文件将存放 User 模型。在同一个命名空间中创建一个User类,并为它添加两个属性:Name(字符串)和MemberId(整数)。添加一个接收这两个值的构造函数。Library.cs:核心逻辑将放在这里。创建一个Library类,并为它添加一个Name属性(字符串)和一个用于设置该属性的构造函数。再添加一个名为GetInfo()的方法,让它返回格式为"{Name} Library System Initialized"的字符串。Program.cs:在这里把所有内容组合起来。这里是程序的入口,你将在这里创建类的实例,并验证结构是否正常运行。
你将收到 3 个输入:
- 图书馆名称
- 格式为
title|author的图书条目 - 格式为
name|memberId的用户条目
使用给定的名称创建一个 Library 实例,使用提供的书名和作者创建一个 Book 实例,并使用提供的姓名和会员 ID 创建一个 User 实例。然后打印 3 行内容:
- 调用图书馆的
GetInfo()方法后得到的结果 - 格式为
Book: {Title} by {Author} - Available: {IsAvailable}的图书信息 - 格式为
User: {Name} (ID: {MemberId})的用户信息
例如,输入如下:
City Central
The Great Gatsby|F. Scott Fitzgerald
Alice Johnson|1001输出应为:
City Central Library System Initialized
Book: The Great Gatsby by F. Scott Fitzgerald - Available: True
User: Alice Johnson (ID: 1001)这种结构遵循单一职责原则,每个文件只负责一个特定的方面。在接下来的课程中,你将为这些类添加借阅逻辑、搜索功能和完整的控制台界面!
亲手试试
using System;
namespace LibrarySystem
{
class Program
{
public static void Main(string[] args)
{
// 读取输入
string libraryName = Console.ReadLine();
string bookInput = Console.ReadLine();
string userInput = Console.ReadLine();
// 解析图书输入(格式:title|author)
string[] bookParts = bookInput.Split('|');
string bookTitle = bookParts[0];
string bookAuthor = bookParts[1];
// 解析用户输入(格式:name|memberId)
string[] userParts = userInput.Split('|');
string userName = userParts[0];
int memberId = Convert.ToInt32(userParts[1]);
// TODO: 用库名称创建 Library 实例
// TODO: 用书名和作者创建 Book 实例
// TODO: 用姓名和会员 ID 创建 User 实例
// TODO: 使用 GetInfo() 输出库信息
// TODO: 按以下格式输出图书信息:Book: {Title} by {Author} - Available: {IsAvailable}
// TODO: 按以下格式输出用户信息:User: {Name} (ID: {MemberId})
}
}
}
面向对象编程中的所有课
自己练习: C# 在线编译器