如何使用抽象,虚方法,重写,看了这个示例,超级好用

news/2024/12/29 8:26:36/文章来源:https://www.cnblogs.com/shuaimeng/p/18201441

基础参数

interface,abstract,virtual,override

然后实现了这样的效果

 

 同一个方法,调用不同的实现类,那实现不一样的结果

具体代码

public interface IStatsBase{string UserSpeak(string content);string UserHandel(string content);}public interface IUserStatsBase{string UserLook(string content);}public abstract class UserStatsBase : IUserStatsBase, IStatsBase{protected abstract string Name { get; }public virtual string UserHandel(string content){return $"{Name}做:{content}";}public virtual string UserSpeak(string content){return $"{Name}说:{content}";}public virtual string UserLook(string content){return $"{Name}看:{content}";}}public class XiaoHongStats : UserStatsBase{protected override string Name => "小红";public override string UserHandel(string content){StringBuilder str = new StringBuilder();str.AppendLine(UserSpeak("我那去扫地"));str.AppendLine("去扫地了");return str.ToString();}}public class ZhangSangStats : UserStatsBase{protected override string Name => "张三";public override string UserSpeak(string content){return $"{Name}说:{content},并且带着大家去做";}}

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用虚方法,重写,接口那实现不一样的结果

基础参数 interface,abstract,virtual,override 然后实现了这样的效果 同一个方法,调用不同的实现类,那实现不一样的结果 具体代码public interface IStatsBase{string UserSpeak(string content);string UserHandel(string content);}public interface IUserStatsBase{s…

Calico 组网(Networking)

确定最佳网络选项 了解 Calico 支持的不同网络选项,以便您可以选择最适合您需求的选项。Calico 灵活的模块化架构支持广泛的部署选项,因此您可以选择适合您的特定环境和需求的最佳网络方法。这包括能够以非覆盖或覆盖模式、带或不带 BGP 运行各种 CNI 和 IPAM 插件以及底层网…

Unity中Reorderable List用法(待维护)

Unity官方文档里完全没有提到ReorderableList类,这是因为它不在UnityEngine或UnityEditor的命名空间下,而是在UnityEditorInternal命名空间下,这个命名空间里的东西是没有官方文档支持的ReorderableList的作用 它的作用,是让一个数组,在Unity的Inspector界面上显示得更好一…

【质量管理】核对单和核查表的区别

总结:核对单和核查表的区别郭慕荣博客园

Windows包管理工具chocolatey安装

Windows软件管理工具chocolatey安装 背景:chocolatey作为windows软件管理工具下载JDK等工具,可以避免下载工具,修改环境变量配置,操作方便 安装步骤 官方指导个人操作以管理员身份运行Poweshell按照官网指导调整执行策略PS C:\WINDOWS\system32> Get-ExecutionPolicy Re…

MySQL全文索引源码剖析之Insert语句执行过程

全文索引是信息检索领域的一种常用的技术手段,用于全文搜索问题本文分享自华为云社区《MySQL全文索引源码剖析之Insert语句执行过程》 ,作者:GaussDB 数据库。1. 背景介绍 全文索引是信息检索领域的一种常用的技术手段,用于全文搜索问题,即根据单词,搜索包含该单词的文档…

Markdown基础语法2024测试

标题一 标题二 标题三 标题四 标题五 标题六 hr 加粗字体 b 斜体字体 i 引用内容 code 超链接 a blockquoteol > li 有序列表ul > li 无须列表pre 代码块p表格标题 内容居中 内容居右col 3 is right-aligned $1600col 2 is centered $12zebra stripes are neat $1p p 源…

(挖矿病毒清除)kdevtmpfsi 处理,其他挖矿软件也可用该思路清除

1、Top命令线程运行情况,找到kdevtmpfsi对应的进程ID 2、使用 kill -9 PID 3、过段时间再次被重启,说明有守护线程systemctl status PID查看其关联的守护进程,/tmp/kinsing /tmp/kdevtmpfsi删除rm -rf /tmp/kinsing rm -rf /tmp/kdevtmpfsi4、crontab -l 命令先看看 cront…

Unity遮挡剔除使用

(1)设置对象为遮挡物or被遮挡物 选中某个对象后,在其Occlusion窗口可以设置其Occluder Static和Occludee Static属性:遮挡物通过勾选一个对象的Occluder Static 可将其设置为静态遮挡物。理想的遮挡物应该是实心的,体积较大的物体。 原则1:可能阻挡到其它对象的对象才应该…

Uni-app 之IOS生成Universal Link(通用链接)

一、文档 https://uniapp.dcloud.net.cn/api/plugins/universal-links.html#%E8%83%8C%E6%99%AF%E4%BB%8B%E7%BB%8D 二、配置 1、登录苹果开发者中心找到对应的APPID,配置Associated Domains,如下: 2、创建apple-app-site-association文件(没有后缀){"applinks"…

2024 年 7 个最佳免费项目管理软件

在本指南中,我们将带您了解当今市场上一些最好的免费项目管理软件选项。我们将讨论每个工具的区别;任何相关功能、优点和缺点;以及如果您将目光投向了免费项目管理软件,您通常应该寻找什么。zz-plan – 最佳的甘特图协作软件 Notion - 最佳整体一体化解决方案 ClickUp – 最…