当前位置: 首页 > news >正文

C#抽象类 接口 面试 3 道笔试题(含标准答案,面试高频)

抽象类&接口 面试3道笔试题(含标准答案,面试高频)

题目1(基础简答)

简述接口和抽象类区别,项目怎么选用?
参考答案:

  1. 继承:抽象类单继承;接口多实现。
  2. 成员:抽象类有字段、构造、任意访问修饰符、实体方法;接口无实例字段,C#8前只有抽象签名,C#8可写默认实现。
  3. 关系:抽象is-a,接口can-do。
    选用:共用字段、重复代码、父子继承用抽象类;定义契约、多能力扩展、解耦DI用接口;工程常用:接口定义约束+抽象类封装公共代码

题目2(场景题)

做支付系统:微信支付、支付宝、银联支付,三者都有签名验签、生成订单公共逻辑,各自支付发起逻辑不同。如何设计?
参考答案:

  1. 定义 IPayment 接口,约束统一行为:Pay()、QueryOrder();
  2. 新建抽象类 BasePayment : IPayment,封装公共:签名、验签、生成订单;
  3. 微信/支付宝/银联类继承抽象类,只重写各自Pay实现。

思路:接口定标准,抽象抽公用,具体类实现差异化。

题目3(易错选择题+解析)

下列说法错误的是()
A. 抽象类不能实例化
B. 接口中成员默认public,不能手动指定访问修饰符
C. 一个类可以同时继承抽象类并实现多个接口
D. C#7.3接口可以定义实例字段
答案:D
解析:
无论哪个C#版本,接口都不能定义实例字段;抽象类才可以定义成员字段。

附加面试小追问(随口问答)

问:C#8接口默认实现解决了什么痛点?
答:旧接口新增抽象方法,全部实现类要改代码;默认实现可以给新方法写默认逻辑,原有实现类无需改动。

http://www.jsqmd.com/news/947279/

相关文章:

  • 手机号定位查询系统:3秒获取号码归属地与地理位置
  • 十年教学经验总结:新手小提琴怎么选?全价位高口碑机型实测推荐
  • 避坑指南:STM32 HAL库下TM1640时序调试的那些事儿(基于SysTick和定时器两种延时)
  • 0.005mm同轴度,圆樽底模轴的车削精度怎么保证
  • 第三章:界面操作、会话管理与内置命令
  • 别再让EMC测试卡脖子!硬件工程师必看的电磁兼容设计实战避坑指南
  • C#抽象类 接口一页纸速记(面试随身背诵)
  • Gemma 4B本地部署实战:轻量大模型在Mac与树莓派上的高效运行
  • 利用快马平台快速原型设计,十分钟搭建探长u盘修复工具界面demo
  • STM32 Bootloader跳转App总进HardFault?一个PSP/MSP模式切换的坑我帮你踩了
  • 大语言模型越狱攻击:原理、挑战与防御策略
  • STM32驱动TM1616数码管避坑指南:时序调试与硬件连接那些事儿
  • 实战cnn项目:基于快马ai生成从数据加载到模型可视化的猫狗分类完整代码
  • 第一章:OpenCode 项目概览与核心定位
  • QMCFLAC2MP3终极指南:一键解锁QQ音乐格式限制
  • 百度网盘全速下载终极指南:告别限速,轻松获取真实下载链接
  • WeChatExporter:三步永久保存你的微信聊天记录,告别数据丢失的烦恼
  • 2026论文降AI率平台:11款工具实测谁在“智能”谁在“智障”?
  • 手把手解析BQ4050的SMBus数据:如何从原始字节算出真实的电压、电流和电量百分比?
  • 列表List的语法
  • 效率倍增:基于快马生成openclaw可参数化的一键部署与配置模板
  • ai辅助开发:为内容平台添加智能标签提取功能(灵感源于ao3)
  • 第四章:配置体系详解与优先级
  • 终极Windows 11精简优化:Win11Debloat让你的电脑跑得更快更干净!
  • 效率提升:借助快马AI批量生成头歌算法题解与优化方案
  • 拆解Transformer本源:350行源码吃透Attention底层原理
  • 新手入门Web开发:借助快马AI生成带注释的notepad应用
  • 深耕本土,精准赋能 —— 徐允雯以专业商事服务助力苏州创业生态建设
  • 2026数字化AI除幻技术市场观察:技术创新与服务适配成竞争关键
  • MATLAB零基础用Excel点坐标秒出圆心和半径,不装工具箱也能跑