添加Lesson12
This commit is contained in:
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user