C# 继承
C# 是面向对象的高级编程语言。
继承是面向对象的特征之一。
所谓继承,字面意义。通俗而言 子承父业。
现有两个类
A,B二类,分别有两个字段,有两个方法,有两个构造函数。
这两个类实际意义没有多少。 但是记住,高级语言就因为面向对象才是高级语言。面向对象基本就是现实中的事务的高级抽象。
可以想象这个AB二类是这个独立的人,每个人都是独立ID,独立自我介绍。
所以有两个独立的class。
Class A { public string Name=>"Class A"; public A()=>Console.WriteLine("这是A类的初始化,也就是构造函数"); public void ID()=>Console.WriteLine($"我的id是{Name}"); } Class B { public string Name=>"Class B"; public B()=>Console.WriteLine("这是A类的初始化,也就是构造函数"); public void ID()=>Console.WriteLine($"我的id是{Name}"); }
但是,之前说过的面向对象是现实事务的高级抽象。
抽象!
如果 就按照上面的方式来建立事务,恐怕写一个软件会把人给累死。
所以,继承的意义就存在的。
高度抽象【针对现实事务】
就好比这个两个类中都一个String 的公共属性。 如果我们只写一遍就好了。
那么思考一下,继承。
emm,AB都有Name,
如果 AB都有一个父亲,父亲有一个名为Name的遗产。【不考虑财产分割,那是别的问题】
那么AB是不是都会有了?
那么 使用继承该如何使用呢?
Class NameList { public string Name{get;set;} } Class A:NameList { public A()=>Console.WriteLine("这是A类的初始化,也就是构造函数"); public void ID()=>Console.WriteLine($"我的id是{Name}"); } Class B:Namelist { public B()=>Console.WriteLine("这是A类的初始化,也就是构造函数"); public void ID()=>Console.WriteLine($"我的id是{Name}"); }
See,只打了一遍就可以在两个不同的类中进行使用了。
OK,那么这两个类中还有一个叫 ID的方法,都是一模一样,是不是也可以使用继承呢?
嗯 是可以!
那么我们在改一下
class NameList { public string Name { get; set; } public void ID() => Console.WriteLine($"我的id是{Name}"); } class A : NameList { public A() => Console.WriteLine("这是A类的初始化,也就是构造函数"); } class B : NameList { public B() => Console.WriteLine("这是A类的初始化,也就是构造函数"); }
到这里为止,继承的基本使用就介绍完了。
继承的符号:是冒号
不过要记住,如果继承类,那么这个继承的类叫做父类,或者基类【也就是文中NameList】,也只能有有一个父类
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现