iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >c#基础学习之多态
  • 590
分享到

c#基础学习之多态

c#多态 2022-11-15 22:11:45 590人浏览 薄情痞子
摘要

最近在看一本书《你必须知道的.net》,书涵盖的内容比较多,对于C#,.Net平台以往所学的零散东西有了慢慢的总结和新的认识。把一些基础的东西记录于此。 先说说多态吧: 1.基类继承

最近在看一本书《你必须知道的.net》,书涵盖的内容比较多,对于C#,.Net平台以往所学的零散东西有了慢慢的总结和新的认识。把一些基础的东西记录于此。

先说说多态吧:

1.基类继承式多态

如书中所说,基类继承式多态的关键是继承体系的设计与实现。书中举了个简单的列子


      Files myFile=new WordFile();

      myFile.open();


     myFile是一个父类Files变量,保持了指向子类WORDFile实例的引用,然后调用一个虚方法Open,具体的调用则决定于运行时而非编译时。从设计模式的角度看,基类继承式多态体现了一种IS-A方式,例如WORDFile IS-A Files就体现在这种继承关系中。

2.接口实现式多态

    区别于基类的继承方式,这种多态通过实现接口的方法约定形成继承体系,具有更高的灵活性。从设计模式的角度来看,接口实现多态体现了一种CAN-DO关系。上述的文件加载器也可以这样实现


      IFileOpen myFile=new WORDFile();

      myFile.open();


多态的运行机制:

      从技术实现角度看,是.NET的动态绑定机制成就了面向对象的多态特性。静态绑定在编译期就可以确定关联,一般是以方法重载来实现的;动态绑定则在运行期通过检查虚拟方法表来确定动态关联覆写的方法,一般以继承和虚方法实现。

--结束END--

本文标题: c#基础学习之多态

本文链接: http://www.lsjlt.com/news/172699.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • c#基础学习之多态
    最近在看一本书《你必须知道的.Net》,书涵盖的内容比较多,对于c#,.Net平台以往所学的零散东西有了慢慢的总结和新的认识。把一些基础的东西记录于此。 先说说多态吧: 1.基类继承...
    99+
    2022-11-15
    c# 多态
  • C#多线程学习之基础入门
    目录同步方式异步多线程方式异步多线程优化异步回调异步信号量异步多线程返回值异步多线程返回值回调线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进...
    99+
    2024-04-02
  • c#基础学习之封装
    作为一个初级GIS程序员,关于封装那些宏观的概念暂且不提,编程经常面对的就是“字段,属性,方法”,这也是面向对象的基本概念之一。 1.字段 通常定义为private,表示类的状态信息...
    99+
    2022-11-15
    c# 封装
  • objective-c 基础学习
    目录 第一节:OC 介绍 ​​第二节:Fundation 框架 ​第三节:NSLog 相对于print 的增强 ​第四节:NSString ​第五节:oc新增数据类型 第六节: 类和对象 ​类的方法的声明与实现 ​第七节:类和对象的存储 ...
    99+
    2023-10-12
    objective-c 学习 开发语言
  • python基础之多态
    目录多态案例演示总结多态 多态:顾名思义九四多种形态\状态,就是同一种行为对不同的子类[对象]有不同的行为表现 要想实现多态 必须有两个前提需要遵守: 1.必须存在一种继承关系,必...
    99+
    2024-04-02
  • C++学习之多态的使用详解
    目录前言多态向上转型向下转型作用域前言 最近为了完成数据库系统的实验,又复习起了《C++ Primer》,上一次看这本巨著也是大二下的六月份,那时看面向对象程序编程这一章还云里雾里的...
    99+
    2024-04-02
  • Java基础学习之标签
    目录一、语法二、控制循环三、案例四、小结一、语法 label: @Test public void test3() { inner: f...
    99+
    2024-04-02
  • python学习之路--python基础
    本文主要介绍下python列表的的一些基本操作 列表是我们在python编程中常用的数据类型之一,通过列表我们可以对数据实现最方便的存储、修改等操作。 定义列表  1 names=['ZhangSan','LiSi','WangWu'] ...
    99+
    2023-01-30
    之路 基础 python
  • C++基础学习之输入输出流详解
    目录1. 输入输出流2. 文件输入输出3. 格式化输入输出4. 字符串输入输出5. 空格处理C++是一种广泛应用的编程语言,其输入和输出是程序所必须的基本操作之一。输入是指从外部获取...
    99+
    2023-05-17
    C++输入输出流 C++输入流 C++输出流
  • C++学习进阶之Makefile基础用法详解
    目录1. Makefile基本语法与执行2. Makefile简化过程3. Makefile生成并使用库3.1 动态库的建立与使用3.2 动态加载库的建立与使用总结1. Makefi...
    99+
    2024-04-02
  • Kotlin基础学习之位运算
    什么是位运算?程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进...
    99+
    2023-05-30
  • Java 基础之NIO 学习详解
    目录一、NIO 简介1、NIO 三大核心(1)缓冲区 Buffer(2)通道 Channel(3)Selector 选择器2、NIO 和 IO 的区别二、NIO 的 API...
    99+
    2024-04-02
  • 【java基础学习】之DOS命令
    #java基础学习 1.常用的DOS命令: dir:列出当前目录下的文件以及文件夹  md: 创建目录    rd:删除目录cd:进入指定目录  cd.. :退回到上级目录  cd\ : 退回到根目录  del:删除文件  exit:退出d...
    99+
    2023-10-10
    linux 运维 java
  • CTF之PHP基础学习篇(一)
    文章目录 前言CTF之PHP基础一、PHP是什么?二、配置PHP环境三、php基础语法 总结 前言 估摸着不少学计算机的同学以及其他专业的小部分同学都对于信息安全感兴趣吧!那对于参加...
    99+
    2023-10-02
    php 网络安全 学习
  • Springboot基础学习之初识SpringBoot
    目录一、图示二、springboot是什么三、spring是如何简化开发的?四、springboot五、第一个spingboot程序一、图示 spring再简化:SpringBoot...
    99+
    2024-04-02
  • Java多线程Thread基础学习
    目录1. 创建线程   1.1 通过构造函数:public Thread(Runnable target, String name){}  或:publ...
    99+
    2023-05-17
    Java多线程 Java 多线程Thread
  • C++学习之虚函数表与多态详解
    目录概述C++虚函数表指针和虚函数表C++ 虚函数表和多态概述 C++的多态在不同环境下实现方式可能不一样,虚函数表是C++实现多态的一种方式。 问题: 什么情况下C++会使用虚指针...
    99+
    2023-05-14
    C++虚函数表 多态 C++虚函数表 C++ 多态
  • Java基础之spring5新功能学习
    目录一、前言二、日志配置三、核心容器 支持@Nullable四、核心容器支持函数式风格五、支持整合 JUnit5一、前言 1.整个 Spring5 框架的代码基于 Java8 ,运行...
    99+
    2024-04-02
  • Python基础学习之认识线程
    目录一、什么是线程?二、再来解释线程的代码三、线程触发业务函数,线程调用业务函数四、多了一个线程是哪个?五、总结一、什么是线程? 我们知道工人都是同时在工厂工作,复制各自的工作的。他...
    99+
    2024-04-02
  • MySQL学习之基础操作总结
    目录1.库的操作2.表的操作创建表查看表结构删除表修改表1.库的操作 查看当前mysql数据库下默认有哪些库 show databases; 创建一个库 create databas...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作