继承:
继承就是面向对象中类与类之间的一种关系。继承的类成为子类,派生类。
被继承的类称为父类,基类 超类。使得子类就有父类的属性跟方法。同时子类也可以通过加入
新的属性很方法或者修改父类的属性和方法建立新的类层次。
继承机制体现了面向对象技术红的复用性,扩展性和安全性。为面向对象软件开发与模块话软件架构
提供了最基本的技术基础
分类:
1实现继承(单一继承).
2接口继承(多继承)。

/// <summary>
/// 继承本质论
/// </summary>
/// 继承本质论
/// </summary>
public class Bird : Animal
{
private string type = "Bird";
public override void ShowType()
{
Console.WriteLine("type is {0}",type);
}
}
private string color;
public string Color
{
get { return color;}
set{ color=value;}
}
public class Ckicken : Bird
{
private string type = "Ckicken";
public override void ShowType()
{
Console.WriteLine("type is {0}", type);
}
public void ShowColor()
{
Console.WriteLine("Color is {0}", Color);
}
}
/// <summary>
/// bird2 对象和ckicken 对象在内存布局上是一样的差别就在于其引用指针的类型不同
/// bird2 为Bird 的类型指针,而ckicken为Ckicken类型的指针。
/// 不同的类型指针在虚拟方法表中有不同的附加信息作为标志来区别访问地址区域,称为offset
/// 不同的类型指针只能在其特定的地址区域内执行,子类覆盖父类事会保证其访问地址区域的一致性
/// 从而解决了不同类型的类型访问具有不同访问权限问题
/// 1.执行就近原则:对于同名字段或者方法,编译器是按照顺序查找引用的,
/// 也就是访问离它创建最近的字段
/// 如果type 类型设为public 则在此讲返回“Bird”值
/// 这也就是为什么在对象创建时必须将字段按顺序排列,
/// 而父类要先于子类编译的原因
/// </summary>
public class Test
{
public static void Main()
{
Bird bird2 = new Ckicken();
Ckicken ckicken = new Ckicken();
}
}
努力 努力在努力一点
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】