添加Lesson12

This commit is contained in:
2025-09-08 16:11:55 +08:00
parent 7854f97a29
commit 40dca79e2b
3 changed files with 118 additions and 0 deletions
+6
View File
@@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson13_继承-李氏替
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson12_继承-继承的基本概念练习", "Lesson12_继承-继承的基本概念练习\Lesson12_继承-继承的基本概念练习.csproj", "{B432065F-FFA2-4866-BC75-8AC33869B92F}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson12_继承-继承的基本概念练习", "Lesson12_继承-继承的基本概念练习\Lesson12_继承-继承的基本概念练习.csproj", "{B432065F-FFA2-4866-BC75-8AC33869B92F}"
EndProject EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson12_继承-继承的基本概念", "Lesson12_继承-继承的基本概念\Lesson12_继承-继承的基本概念.csproj", "{45F37FBC-59A8-4FC9-B0F5-5CEA222D8C7E}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -45,6 +47,10 @@ Global
{B432065F-FFA2-4866-BC75-8AC33869B92F}.Debug|Any CPU.Build.0 = Debug|Any CPU {B432065F-FFA2-4866-BC75-8AC33869B92F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B432065F-FFA2-4866-BC75-8AC33869B92F}.Release|Any CPU.ActiveCfg = Release|Any CPU {B432065F-FFA2-4866-BC75-8AC33869B92F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B432065F-FFA2-4866-BC75-8AC33869B92F}.Release|Any CPU.Build.0 = Release|Any CPU {B432065F-FFA2-4866-BC75-8AC33869B92F}.Release|Any CPU.Build.0 = Release|Any CPU
{45F37FBC-59A8-4FC9-B0F5-5CEA222D8C7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{45F37FBC-59A8-4FC9-B0F5-5CEA222D8C7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{45F37FBC-59A8-4FC9-B0F5-5CEA222D8C7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{45F37FBC-59A8-4FC9-B0F5-5CEA222D8C7E}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<RootNamespace>Lesson12_继承_继承的基本概念</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
@@ -0,0 +1,101 @@
namespace Lesson12_继承_继承的基本概念
{
#region
// 一个类 A 继承一个类 B
// 类 A 将会继承类 B 的所有成员
//A 类将拥有 B 类的所有特征和行为
// 被继承的类
// 称为 父类、基类、超类
// 继承的类
// 称为子类、派生类
// 子类可以有自己的特征和行为
// 特点
//1. 单根性 子类只能有一个父类
//2. 传递性 子类可以间接继承父类的父类
#endregion
#region
//class 类名:被继承的类名
//{
//}
#endregion
#region
class Teacher
{
//姓名
public string name;
//职工号
public int number;
//介绍名字
public void SpeakName()
{
Console.WriteLine(name);
}
}
class TeachingTeacher : Teacher
{
//科目
public string subject;
//介绍科目
public void SpeakSubject()
{
Console.WriteLine(subject + "老师");
}
}
class ChineseTeacher : TeachingTeacher
{
public void Skill()
{
Console.WriteLine("一行白鹭上青天");
}
}
#endregion
#region 访
//public - 公共 内外部访问
//private - 私有 内部访问
//protected - 保护 内部和子类访问
// 之后讲命名空间的时候讲
//internal - 内部的 只有在同一个程序集的文件中,内部类型或者是成员才可以访问
#endregion
#region
// 概念
//C# 中允许子类存在和父类同名的成员
// 但是 极不建议使用
#endregion
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
TeachingTeacher tt = new TeachingTeacher();
tt.name = "HK";
tt.number = 1;
tt.SpeakName();
tt.subject = "Unity";
tt.SpeakSubject();
ChineseTeacher ct = new ChineseTeacher();
ct.name = "唐老师";
ct.number = 2;
ct.subject = "语文";
ct.SpeakName();
ct.SpeakSubject();
ct.Skill();
}
}
}