28.c#关键字base初步学习

简介: 28.c#关键字base初步学习

C#关键字sealed修饰类初步学习

 

## 继承:构建 upon 现有代码

 

继承是面向对象编程的一个核心概念,它允许我们创建一个新的类(称为子类或派生类),该类基于一个现有的类(称为基类或父类)。这样,子类会继承基类的属性和方法,从而减少代码的重复,并提高代码的可重用性。

 

C# 中,我们使用 `:` 运算符来表示继承关系。例如:

 

image.png

在上面的例子中,我们定义了一个 `Animal` 类和一个 `Dog` 类,其中 `Dog` 类继承自 `Animal` 类。这样,`Dog` 类就会继承 `Animal` 类的 `Name` 属性和 `MakeSound` 方法。

 

## 多态性:实现接口和虚方法

 

多态性是面向对象编程的另一个核心概念,它允许我们使用一个接口或父类类型的引用来引用不同的子类对象。这样,我们就可以编写更加通用的代码,该代码可以接受不同的子类对象,并在运行时根据对象的实际类型来调用相应的方法。

 

C# 中,我们可以使用 `interface` 和 `virtual` 关键字来实现多态性。例如:

 

image.png

在上面的例子中,我们定义了一个 `IAnimal` 接口和一个 `Animal` 类,其中 `Animal` 类实现了 `IAnimal` 接口。然后,我们创建了一个 `Dog` 类,它继承自 `Animal` 类并实现了 `IAnimal` 接口。这样,`Dog` 对象就可以被当作 `IAnimal` 类型的对象来使用。

 

## `base` 关键字:调用基类的方法

 

现在,让我们回到本文的主题,即 `base` 关键字。在 C# 中,`base` 关键字用于访问继承的基类成员。当我们想要在派生类中调用基类的方法时,我们可以使用 `base` 关键字。例如:

 

image.png

在上面的例子中,我们定义了一个 `Animal` 类和一个 `Dog` 类,其中 `Dog` 类继承自 `Animal` 类。在 `Dog` 类的 `MakeSound` 方法中,我们使用 `base.MakeSound()` 来调用 `Animal` 类的 `MakeSound` 方法。这样,当我们调用 `Dog` 类的 `MakeSound` 方法时,它首先会调用 `Animal` 类的 `MakeSound` 方法,然后再调用自己的 `MakeSound` 方法。

 

 

目录
相关文章
|
22天前
|
开发框架 缓存 算法
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
开源且实用的C#/.NET编程技巧练习宝库(学习,工作,实践干货)
|
2月前
|
Linux C# 开发者
Uno Platform 驱动的跨平台应用开发:从零开始的全方位资源指南与定制化学习路径规划,助您轻松上手并精通 C# 与 XAML 编程技巧,打造高效多端一致用户体验的移动与桌面应用程序
【9月更文挑战第8天】Uno Platform 的社区资源与学习路径推荐旨在为初学者和开发者提供全面指南,涵盖官方文档、GitHub 仓库及社区支持,助您掌握使用 C# 和 XAML 创建跨平台原生 UI 的技能。从官网入门教程到进阶技巧,再到活跃社区如 Discord,本指南带领您逐步深入了解 Uno Platform,并提供实用示例代码,帮助您在 Windows、iOS、Android、macOS、Linux 和 WebAssembly 等平台上高效开发。建议先熟悉 C# 和 XAML 基础,然后实践官方教程,研究 GitHub 示例项目,并积极参与社区讨论,不断提升技能。
54 2
|
6月前
|
C#
C#的基本语法结构学习
【5月更文挑战第17天】C#基础语法包括变量(如`int x = 10`)、常量(`const int MAX_VALUE = 100`)、运算符(如算术和比较运算符)、控制语句(if、for、while等)和函数声明(`int Add(int x, int y) { return x + y; }`)。这些构成C#程序的基本元素。
74 0
|
4月前
|
开发框架 .NET C#
【Azure Developer】C# / .NET 静态函数中this关键字的作用
在C#中,`this`关键字用于扩展方法,允许向已有类型添加功能而不修改其源代码。扩展方法必须在静态类中定义,且第一个参数使用`this`修饰,如`public static XElement AcquireElement(this XContainer container, string name, bool addFirst = false)`。这种方式增强了代码的可读性和类型的安全性,尤其在处理第三方库时。
|
3月前
|
开发框架 .NET API
C#/.NET/.NET Core推荐学习书籍(24年8月更新)
C#/.NET/.NET Core推荐学习书籍(24年8月更新)
|
4月前
|
Dart 算法 JavaScript
C#数据结构与算法入门教程,值得收藏学习!
C#数据结构与算法入门教程,值得收藏学习!
|
5月前
|
前端开发 Java C#
GitHub突破5k Star!这件事情我坚持了3年,努力打造C#/.NET/.NET Core全面的学习、工作、面试指南知识库
GitHub突破5k Star!这件事情我坚持了3年,努力打造C#/.NET/.NET Core全面的学习、工作、面试指南知识库
|
5月前
|
开发框架 安全 .NET
C#关键字概览
C#关键字概览
|
6月前
|
C#
C#的类和对象的概念学习案例刨析
【5月更文挑战第17天】C#是一种面向对象的语言,以类和对象为核心。类作为对象的模板,定义了属性(如Name, Age)和行为(如Greet)。对象是类的实例,可设置属性值。封装通过访问修饰符隐藏实现细节,如Customer类的私有name字段通过Name属性访问。继承允许新类(如Employee)从现有类(Person)继承并扩展。多态让不同对象(如Circle, Square)共享相同接口(Shape),实现抽象方法Area,提供灵活的代码设计。
65 1
|
6月前
|
数据采集 数据可视化 搜索推荐
提升编码技能:学习如何使用 C# 和 Fizzler 获取特价机票
使用C#和Fizzler库,开发一个多线程爬虫,高效抓取五一假期特价机票信息。通过代理IP规避反爬策略,实现实时数据更新、个性化推送及数据可视化分析。示例代码展示如何配置代理、发送HTTP请求、解析HTML并提取机票详情。注意适应实际环境调整参数。祝编码愉快!
提升编码技能:学习如何使用 C# 和 Fizzler 获取特价机票