C# 学习笔记-001-继承

1,继承类型

        继承的类型:实现继承和接口继承

         实现继承:

                       表示一个类型派生于一个基类型,拥有改类型的所有成员字段和函数。

         接口继承:

                        表示一个类型只继承了函数函数签名,没有继承任何实现代码。

2,继承实现

3,访问修饰符

        虚方法:

                        使用 virtual 修饰符。虚方法可以被重写,重写使用override重写虚方法。

        隐藏方法:

                        如果签名相同的方法在派生类和基类都有声明,但该方法没有分别声明为virtual和override,派生类方法就会隐藏基类方法。

        调用函数的基类版本:

                        从派生类中调用方法的基础版本:base<MethodName>()。可以使用base<MethodName>()语法调用基类中的任何方法,不必从同一个方法的重载中调用。

       抽象类和抽象函数:

                        abstract修饰符把类和函数声明为抽象类型。抽象类不能实例化,抽象函数不能直接实现,必须在非抽象来的派生类中重写。

        密封类和密封函数:

                        scaled修饰符把类和方法声明为密封类型。密封的类不能被继承,方法不能被重写。

          修饰符:

修饰符 应用于 说明
public 所有类型或者成员 任何代码均可访问该项
protrected 类型和内嵌类型的所有成员 只能派生的类型能访问该项
interral 所有类型或者成员 只能在它包含的程序集中访问该项
private 类型和内嵌类型的所有成员 只能在它包含的程序集中访问该项
protected interral 类型和内嵌类型的所有成员 只能在它包含的程序集和派生类型的任何代码中访问该项

        其他修饰符:

修饰符 应用于 说明
new 函数成员 成员用相同的签名隐藏继承的成员
static 所有成员 成员不作用于类的具体实例
virtual 仅函数成员 成员可以由派生类重写
abstract 仅函数成员 虚拟成员定义了成员签名,但没有提供实现代码
override 仅函数成员 成员重写了继承的虚拟或抽象成员

4,接口

                        声明接口和声明抽象类型完全相同,声明接口使用修饰符 interface。接口不允许提供接口中任何成员的实现方式。

                        接口只能包含:方法,属性,索引器,事件。

                        接口不能实例化,只能包含其成员的签名。接口不能有构造函数,也不能有字段。接口定义也不允许包含运算符重载。

                        接口可以彼此继承,继承方法和类的继承方式相同。

相关推荐

  1. C# 学习笔记-001-继承

    2024-01-12 07:20:05       57 阅读
  2. C#学习笔记_继承

    2024-01-12 07:20:05       47 阅读
  3. C++学习笔记01

    2024-01-12 07:20:05       57 阅读
  4. C#(C Sharp)学习笔记_继承【十七】

    2024-01-12 07:20:05       35 阅读
  5. 00_C语言学习笔记

    2024-01-12 07:20:05       55 阅读
  6. Scala学习笔记9: 继承

    2024-01-12 07:20:05       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-12 07:20:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-12 07:20:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-12 07:20:05       82 阅读
  4. Python语言-面向对象

    2024-01-12 07:20:05       91 阅读

热门阅读

  1. Vue:多组件样式冲突问题解决

    2024-01-12 07:20:05       48 阅读
  2. 机器学习框架PyTorch

    2024-01-12 07:20:05       51 阅读
  3. TCP 和 UDP 的区别

    2024-01-12 07:20:05       53 阅读
  4. MySql command line client命令解析

    2024-01-12 07:20:05       53 阅读
  5. 基于“小数据”的机器学习

    2024-01-12 07:20:05       50 阅读
  6. Linux命令实战:解决日常问题的利器

    2024-01-12 07:20:05       53 阅读
  7. 146. LRU 缓存

    2024-01-12 07:20:05       61 阅读
  8. Android Studio出现闪退

    2024-01-12 07:20:05       57 阅读
  9. HTML date类型数前后端互传,页面显示date类型

    2024-01-12 07:20:05       50 阅读
  10. Springboot 中设置统一的返回格式

    2024-01-12 07:20:05       46 阅读
  11. 并发编程(三)

    2024-01-12 07:20:05       47 阅读