首页 > 其他分享 >如何使用虚方法,重写,接口那实现不一样的结果

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

时间:2024-05-20 10:56:34浏览次数:26  
标签:return string 重写 接口 content override 方法 public Name

基础参数

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},并且带着大家去做";
        }
    }

 

标签:return,string,重写,接口,content,override,方法,public,Name
From: https://www.cnblogs.com/shuaimeng/p/18201441

相关文章

  • 在CMakeLists.txt中添加源文件的几种方法
    单个.cpp源文件的情况用这段代码进行测试,CMake中添加一个可执行文件作为构建目标:#include<cstdio>intmain(){printf("Hello,world!\n");}指定源文件的时候可以有两种方式。在创建目标的时候直接指定源文件add_executable(mainmain.cpp)先创建目标,再添加源......
  • 内外网收发文件的方法有哪些?一起来看看吧
    出于安全性、合规性、数据防泄漏等原因,大部分企业都会做内外网隔离,内外网隔离是企业网络安全管理的重要措施之一,但是企业除了内部不同部门和不同网络之间,需要做文件交换,与外部实体(如客户、供应商、合作伙伴等)也需要进行内外网收发文件。以下是一些传统的内外网收发文件的方式:1......
  • 掌握业务性能监控与流量回溯分析的关键方法
    在当今高度依赖网络的商业环境中,确保网络和业务应用程序的高效运行至关重要。业务性能监控和流量回溯分析是实现这一目标的两大核心手段。本文将详细探讨这两个重要概念,帮助您全面了解并有效应用这些技术来提升网络性能。什么是业务性能监控?业务性能监控是指对企业业务应用程序......
  • lodash已死?radash库方法介绍及源码解析 —— 函数柯里化 + Number篇
    写在前面tips:点赞+收藏=学会!主页有更多其他篇章的方法,欢迎访问查看。本篇我们继续介绍radash中函数柯里化和Number相关的方法使用和源码解析。函数柯里化chain:创建一个函数链并依次执行使用说明功能描述:用于创建一个函数链,该链依次执行一系列函数,每个函数的输出......
  • 听说你是高手?说说你的 JVM调优方法论 吧?(美团面试,问的贼细)
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......
  • 知识方法总结
    1.并查集中敌人的敌人是朋友1861:【10NOIP提高组】关押罪犯2.将边权设为1可以将边数改成距离跑最短路1496:【例3】架设电话线3.所有点都要连通的问题考虑最小生成树1437:扩散luogu16611877:【13NOIP提高组】货车运输4.......
  • SQL Server 2012提供了多种备份和还原数据库的方法,包括以下几种:
    SQLServer2012提供了多种备份和还原数据库的方法,包括以下几种:SQLServerManagementStudio(SSMS):SSMS是一个支持图形用户界面的工具,可以通过它备份和还原整个数据库或特定的数据表、视图等。在SSMS中,可以通过右键单击数据库并选择“任务”>“备份”或“还原”来完成操作......
  • 软件设计原则—接口隔离原则
    B类需要方法1好处是b类继承A类后就有了方法1的功能,问题是B类被迫有了它不使用的方法2这个其实是根据方法的职责细分接口,只需要依赖其中一个接口就可以了客户端不应该被迫依赖于它不使用的方法;一个类对另一个类的依赖应该建立在最小的接口上。下面看一个例子来理解接口隔离......
  • 国内版Unity 2023编辑器无法切换到DX12模式的解决方法
    在“安装目录\Editor”里(也就是Unity安装的根目录)建立一个D3D12文件夹。去“安装目录\Editor\Data\PlaybackEngines\windowsstandalonesupport\External\AgilitySDK\x64”内,将两个文件都复制到D3D12文件夹下。根本原因是在整个2023TechStream里,国内版的Unity(后缀是f1c1的版本)......
  • 在 Zig 中实现接口
    在Zig中实现接口实现接口的关键是遵循特定的函数调用约定,包含接口通常由函数原型和定义组成,表示了一组要被实现的方法或行为。实现接口的关键在于确保函数的参数类型和返回值等方面与接口定义一致。抽象:可以通过使用函数指针、结构体和指针、泛型等技术来实现。抽象的目的是......