【无标题】C#构造函数详解|基础+继承实战(银行账户案例)
一、什么是构造函数构造函数是与类名同名、没有返回值的特殊方法。 在new创建对象时自动执行主要用于给对象字段/属性做初始化赋值。核心规则方法名必须和类名完全一致不能写void只能new的时候自动调用不能手动调用写了带参构造编译器就不再自动生成默认无参构造。public class Account { //带参构造函数 public Account(string id,string name,decimal balance) { AccountId id; OwnerName name; Balance balance; } public string AccountId { get; set; } public string OwnerName { get; set; } public decimal Balance { get; set; } } //创建对象自动执行构造函数 Account acc new Account(A001,张三,1000);二、构造函数常见类型1. 默认无参构造如果类不写任何构造函数编译器偷偷生成一个public 类名(){}无参构造。⚠️只要手写任意带参构造默认无参构造就消失想要用就得手动写。2. 带参构造函数实例化的时候直接传入初始数据项目开发最常用。3. 构造函数重载一个类可以有多个构造函数参数列表不同即可构成重载。public Account(){} public Account(string id):this(id,未知,0){} public Account(string id,string name,decimal balance){}4. this()调用本类其他构造this(参数)调用当前类别的其他构造必须放在第一行减少重复代码。public Account(string id):this(id,匿名用户,0) { }三、继承中的构造函数 base()【重点】创建子类对象时会先调用父类构造再执行子类构造。如果父类没有无参构造子类必须用base(参数)显式调用父类带参构造否则编译报错。base()同样只能写在构造函数第一行。银行账户案例抽象父类子类public abstract class Account { public string AccountId { get; set; } public string OwnerName { get; set; } public decimal Balance { get; set; } //父类带参构造没有无参构造 public Account(string id, string name, decimal balance) { AccountId id; OwnerName name; Balance balance; } } //储蓄账户子类 public class SavingsAccount : Account { public double Rate { get; set; } //base调用父类构造把公共参数传给父类 public SavingsAccount(string id, string name, decimal balance, double rate) : base(id, name, balance) { Rate rate;//子类自己独有的字段初始化 } }抽象类不能new实例但可以写构造函数专门供子类通过base调用。四、执行顺序父类实例构造 → 子类实例构造静态构造函数优先执行整个程序生命周期只跑一次。五、高频踩坑小结写了带参构造无参构造就没了需要就手动添加继承父类只有带参构造子类必须写base(xxx)this()和base()只能写在构造函数第一行构造函数不能加virtual、override、static修饰构造函数尽量只做初始化不要写复杂业务逻辑。六、小总结构造函数是面向对象初始化的核心this()调用本类其他构造base()子类调用父类构造抽象类可以有构造服务子类继承初始化。文章到这里如果对你有帮助欢迎点赞收藏~

相关新闻

利用免费AI资源实战:从RAG到Agent的智能应用开发指南

利用免费AI资源实战:从RAG到Agent的智能应用开发指南

1. 项目概述:一次难得的AI实战练兵机会最近在AI圈子里,一个活动引起了我的注意,简单来说,就是平台方拿出自家的核心产品和大模型的免费额度,鼓励开发者们动手做实验。这听起来像是一次普通的市场活动,但以我…

2026/8/9 3:10:08 阅读更多 →
MiniMax H3开源即登顶、字节连发三款模型:多模态AI正在经历“统一战争

MiniMax H3开源即登顶、字节连发三款模型:多模态AI正在经历“统一战争

8月3日到8月6日,四天之内,MiniMax H3开源登顶Hugging Face、字节跳动连续发布Seedance 2.5和SeedRealtime、商汤推出SenseNova U1.5-Lite-Preview、京东开源JoyAI-Video-Edit、Sand.ai抛出全球首个千亿级MoE视频模型——整整六款多模态产品密集落地&…

2026/8/9 3:10:08 阅读更多 →
基于混合AI架构的视觉化英语词汇学习系统设计与实践

基于混合AI架构的视觉化英语词汇学习系统设计与实践

1. 项目缘起:当“手账”遇上“AI识图”,一个英语学习者的效率革命作为一个常年和英语材料打交道的人,我书架上堆满了各种单词书,手机里也塞满了背单词App。但有个痛点一直没解决:那些在生活中、工作中、刷社交媒体时偶…

2026/8/9 3:10:08 阅读更多 →

最新新闻

终极指南:4步让老旧Mac焕发新生,免费安装最新macOS

终极指南:4步让老旧Mac焕发新生,免费安装最新macOS

终极指南:4步让老旧Mac焕发新生,免费安装最新macOS 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否还在为老旧Mac无法升级最新m…

2026/8/9 11:11:07 阅读更多 →
数据库外键:核心概念与实现详解

数据库外键:核心概念与实现详解

1. 外键与表格链接的核心概念解析在数据库设计中,外键(Foreign Key)是建立表与表之间关系的核心机制。3.11这个版本号提示我们可能是在特定数据库系统(如PostgreSQL 3.11)或教学版本中实现该功能。外键本质上是一个表中…

2026/8/9 11:11:07 阅读更多 →
数据库外键详解:原理、实现与优化策略

数据库外键详解:原理、实现与优化策略

1. 外键与表格链接的核心概念解析在数据库设计中,外键(Foreign Key)是建立表与表之间关系的核心机制。3.11版本通常指代某个特定数据库系统或框架的版本号,这里我们以通用关系型数据库为例进行讲解。外键本质上是一个表中的字段&a…

2026/8/9 11:11:07 阅读更多 →
3种高效Windows和Office激活方案对比:智能系统激活工具全解析

3种高效Windows和Office激活方案对比:智能系统激活工具全解析

3种高效Windows和Office激活方案对比:智能系统激活工具全解析 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO KMS_VL_ALL_AIO是一款强大的智能激活脚本,为Windows和Offic…

2026/8/9 11:11:06 阅读更多 →
QKeyMapper终极指南:5分钟快速上手的Windows免费开源按键映射工具

QKeyMapper终极指南:5分钟快速上手的Windows免费开源按键映射工具

QKeyMapper终极指南:5分钟快速上手的Windows免费开源按键映射工具 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止。支持游戏手柄映射到键鼠…

2026/8/9 11:11:06 阅读更多 →
从零构建现代化数据中心技术栈:虚拟化、Kubernetes编排与自动化运维实践

从零构建现代化数据中心技术栈:虚拟化、Kubernetes编排与自动化运维实践

在数据中心基础设施领域,英伟达创始人黄仁勋与特斯拉、SpaceX创始人埃隆马斯克近期关于各自数据中心规模的讨论,引发了业界对现代超大规模数据中心技术栈的广泛关注。这不仅仅是商业领袖之间的互动,更折射出支撑人工智能、自动驾驶、太空探索…

2026/8/9 11:10:06 阅读更多 →

日新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/8 17:02:44 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/8 17:02:44 阅读更多 →