添加Lesson12
This commit is contained in:
@@ -15,6 +15,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson13_继承-李氏替
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson12_继承-继承的基本概念练习", "Lesson12_继承-继承的基本概念练习\Lesson12_继承-继承的基本概念练习.csproj", "{B432065F-FFA2-4866-BC75-8AC33869B92F}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lesson12_继承-继承的基本概念", "Lesson12_继承-继承的基本概念\Lesson12_继承-继承的基本概念.csproj", "{45F37FBC-59A8-4FC9-B0F5-5CEA222D8C7E}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
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}.Release|Any CPU.ActiveCfg = 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
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user