一种多态的实现方法

news2024/11/25 11:32:11

通过 Activator.CreateInstance 以及  继承关系实现

    public interface Name
    {
        String GetName();
    }

    public class Join : Name
    {
        public string GetName()
        {
            return "Join";
        }
    }

    public class Thomas : Name
    {
        public string GetName()
        {
            return "Thomas";
        }
    }

    public class RecongisePerson
    {
        Hashtable nameTable = new Hashtable();
        public void SetNameList(String name, Type type)
        {
            nameTable[name] = type;
        }

        public String GetName(String person)
        {
            Name b = (Name)Activator.CreateInstance((Type)nameTable[person]);
            String s = b.GetName();
            return s;
        }
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2129106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MongoDB的Map-Reduce操作与聚合管道操作的两个实例相互转换

一、插入集合 comment 的文档的内容 二、题目要求 将集合 comment 中的文档进行聚合操作,即将字段 state为1的文档查询出来,然后按字段 nickname 进行分组,最后计算出每个评论者的评论条数。 三、mapReduce 操作代码 db.comment.mapReduce(// Map函数&…

机器学习(西瓜书)第 7 章 贝叶斯分类器

7.1 贝叶斯决策论 贝叶斯决策论(Bayesian decision theory)是概率框架下实施决策的基本方 法.对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑 如何基于这些概率和误判损失来选择最优的类别标记.下面我们以多分类任务 为例来解释其基本原理. 贝…

9月12号作业

主要更改的代码 void Widget::read_solt() { QByteArray msg socket->readAll();//接受信息 if(QString::fromLocal8Bit(msg)msg2||msg3QString::fromLocal8Bit(msg)||msg6QString::fromLocal8Bit(msg)) { QListWidgetItem *listItem new QListWidgetItem(QString::fromL…

策略抉择:左右为难,交易方向要如何破局?

交易决策的核心往往围绕着一个关键问题:是采取左侧交易策略还是右侧交易策略?左侧交易,亦称逆向交易,与右侧交易(顺势交易)形成鲜明对比,两者路径迥异,所以让很多交易员不知道该如何…

flac格式怎么转换成mp3?给你介绍8种flac转MP3的方法

flac格式怎么转换成mp3?flac格式以其无损压缩方式闻名,能够保存音频的原始质量,满足高保真音频需求。然而,这种高质量也意味着flac文件通常占用较多的存储空间,这在某些场景下可能不太方便。例如,对于那些希…

增益带宽积和共模抑制比

增益带宽积: 这是运放的开环增益曲线:在10hz以下开环增益不变,但之后,随着频率的增加开环增益逐渐减小,并有一定的函数关系。 增益带宽积 开环增益 * 带宽 不同运放的增益带宽积有所不同。 例如当增益带宽积为10^6…

[Golang] goroutine

[Golang] goroutine 文章目录 [Golang] goroutine并发进程和线程协程 goroutine概述如何使用goroutine 并发 进程和线程 谈到并发,大多都离不开进程和线程,什么是进程、什么是线程? 进程可以这样理解:进程就是运行着的程序&…

根据NVeloDocx Word模板引擎生成Word(四)

前面介绍了《E6低代码开发平台》的Word模版引擎NVeloDocx,实现了表单的基本字段、子表、单张图片、二维码、条形码怎么基于NVelocity脚本输出到Word文件,都是些比较简单且常用的需求。 本篇介绍怎么基于NVeloDocx在Word中插入图表,目前只支持…

Java学习 - JDBC

JDBC 这是一些我跟着网课上的JDBC的内容,进行了稍稍的整理 1,JDBC概述 在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据。这就是接下来要学习的JDBC。 1.1 JDBC概念 JDBC 就是使用Java语言操作关系型数据库的一套…

24 家国内大模型面经及考点总结!

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升&#…

大模型书籍丨深入浅出的 Transformer 学习,这本大模型应用解决方案太香了

说到Transformer,这个已经是无数人谈论的神经网络的基础架构之一了。但是这期间又有无数的好的,极好的,不好的信息,所以如果你要真的了解它,找本好书来仔细看一下,其实是对得起自己的最好方式! …

企业数据端口和储备设备防泄漏:端口管控软件是什么?

端口管控软件是什么?端口管控:系统基于Windows底层驱动,可智能识别存储设备的类型为海量存储还是非海量存储,不影响USB键盘、鼠标和打印机等接入设备的正常使用; 针对不同的计算机可自定义设置USB端口的读写模式,可设定…

视频编辑SDK解决方案,包含丰富的模板方案

美摄科技作为视频编辑技术的领航者,携其革命性的视频编辑SDK解决方案,正以前所未有的方式,赋能每一位创作者,让图片与视频的碰撞擦出最耀眼的火花,轻松打造个性化、高质量的Vlog作品,满足从日常分享到专业制…

OJ 删除链表的倒数第N个结点

题目: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点 示例: 代码思路: //方法一:class Solution { public: //使用双指针算法ListNode* removeNthFromEnd(ListNode* head, int n) { i…

通信工程学习:什么是MRF多媒体资源功能、MRFC多媒体资源功能控制、MRFP多媒体资源功能处理

一、MRF多媒体资源功能 MRF(Multimedia Resource Function,多媒体资源功能)是3G/IMS网络中定义的提供多媒体资源功能的网络实体,它为3G/IMS网络的业务和承载提供媒体能力支持。MRF通过提供丰富的媒体处理功能,如播放声…

MySQL之库和表操作

目录 一:对库的操作 1.创建数据库 2.查看数据库列表 3.显示创建数据库的语句 4.删除数据库 5.字符集与校验集 6.确认当前所处的数据库 7.修改数据库 8.备份和恢复 9.查看连接情况 二:对表的操作 1.创建表 2.查看表 3.删除表 4.修改表 接下来的日…

【进展报告】9.9-9.12

一、进度概述 1、推进关于滤波的相关任务(详情见相关文件) 二、详情 1、噪声与滤波模块 在师兄 inversionnet 的基础上,在正则化模块前后添加了对应的噪声和滤波模块。 噪声采用的是最基本的高斯噪声和椒盐噪声,关于其他…

OpengGL学习-显示三维形状

本文介绍了OpenGL创建三维图形的几个示例程序。并附有OpenGL创建三维形状的基础示例代码。本文还介绍了OpenGL基础知识,并对Vulkan做了简介。Vulkan性能更强大,但对开发技术人员要求更高,对兼容性的风险和工作量要有充分的认识。兼容性不仅存…

通信工程学习:什么是MGCF多媒体网关控制功能

MGCF:多媒体网关控制功能 MGCF(Media Gateway Control Function,多媒体网关控制功能)是IP多媒体子系统(IMS)网络中的一个关键组件,主要负责实现IMS网络和传统电路交换网络(如PSTN、I…

2024年【建筑焊工(建筑特殊工种)】考试技巧及建筑焊工(建筑特殊工种)作业考试题库

题库来源:安全生产模拟考试一点通公众号小程序 建筑焊工(建筑特殊工种)考试技巧考前必练!安全生产模拟考试一点通每个月更新建筑焊工(建筑特殊工种)作业考试题库题目及答案!多做几遍,其实通过建筑焊工(建筑特殊工种)在线考试很简…