【唐老狮】C#——继承:构造函数

【C#】构造函数继承父类的构造函数 本文介绍了C#中构造函数的基本概念和构造函数继承机制。构造函数是类中用于初始化对象实例的特殊方法,具有与类同名、无返回类型等特点。在继承关系中,子类可通过":base()"语法调用父类构造函数来实现初始化链式调用,确保对象创建时的正确初始化顺序。文中通过代码示例展示了无参和有参构造函数的继承调用方式,并列举了数据库管理、游戏开发等实际应用场景。合理使用构造函数继承机制能提高代码的可维护性和扩展性。 阅读详情

上篇回顾

里氏替换概念

​父类对象装子类对象

作用

方便进行对象存储和管理

使用

is和as

is用于判断

父类是不是指定类型的子类

as用于转换

父类类型转换为子类类型对象

当然父子可以相互转换

        今天的标题是继承:构造函数,很多同学肯定有疑问,我们在封装时不是已经学习了构造函数吗?继承后的构造函数有什么不同吗?那首先,我们回顾一下在封装中学习的构造函数。

构造函数

实例化对象时调用的函数

主要用来初始化成员变量

不写返回值

函数名和类名相同

访问修饰符根据需求而定

一般为public

可以重载构造函数

可以用this语法重用代码

可以用this区分同名参数和

【唐老狮】C#——继承:密封类 上篇回顾 【万物之父】 关键字 object 概念 object是所有类型的基类 它是一个类(引用类型) 作用 可以利用里氏替换原则 用object装所有对象 可以用来表示不确定类型 作为函数参数类型 【装箱拆箱】 发生条件 用object存值类型(装箱) 再把object转为值类型(拆箱) 装箱 把值类型用引用类型存储 栈内存会迁移到堆内存中 拆箱 把引用类型存储的值类型取出来 堆内存会迁移到栈内存中 好处 不确定类型时 阅读详情

相关推荐

【唐老狮】C#——继承:基本规则

​​通过之前的文章,我们已经把封装相关知识点全部学习完毕了,我们已经可以游刃有余的用面向对象的思想用程序去形容一个现实事物了。 ​​今天我们正式开始学习继承相关的知识点,它可以帮助我们节约代码量,理清对象之间的关系。 【继承】 概念 一个类A继承一个类B 类A将会继承类B的所有成员 A类将拥有B类的所有特征和行为 被继承的类 称为父类、基类、超类 继承的类 称为子类、派生类 子类 可以有自己的特征和行为 比如 ...

MrTang_Unity的博客 845

【唐老狮】C#——继承:万物之父和装箱拆箱

上篇回顾 继承中构造函数的特点 当声明一个子类对象时 构造函数的执行顺序 先执行父类的 再执行子类的 父类构造 ↓↓↓ 父类构造 ↓↓↓ ....... ↓↓↓ 子类构造 默认调用 父类无参构造 所以 父类无参构造 很重要 子类可以通过 base关键字代表父类 调用父类构造 base和this 用法相似 ​​之前我们已经学习了里氏替换原则,我们可以用父类容器装子类对象。今天要学习的知识就是基于里氏替换原则的。什么!你已经忘记里氏替...

MrTang_Unity的博客 653

【唐老狮】C#——继承:里氏替换原则(is和as)

上篇回顾 继承概念 一个类A继承一个类B 类A将会继承类B的所有成员 A类将拥有B类的所有特征和行为 被继承的类 称为父类、基类、超类 继承的类 称为子类、派生类 子类 可以有自己的特征和行为 特点 单根性 (只能有一个父类) 传递性 (子类可以间接继承父类的父类) 注意 访问修饰符的作用 public-公共 子类和外部都能访问 private-私有 自己才能访问 protected-保护 自己和子类才能访问 子类有和父..

MrTang_Unity的博客 1844

【唐老狮】C#——多态:接口

目前多余多态的实现,我们已经学习了两种方式:vob以及抽象类和抽象函数。今天我们要来学习最后一个关于多态实现的知识点——接口!在学习它之前我们先来回顾一下重要知识点。 【vob】 多态的概念 同一类型对象 执行相同行为 有不同的表现 多态的实现 ↓↓↓↓ 编译时多态 函数重载 运行时多态 虚函数(vob) 抽象函数 接口 vob virtual(虚函数) override(重写) v和o结合使用 实现多态 base(父类) 保留...

MrTang_Unity的博客 619

【唐老狮】C#——结构体和类的区别

【结构体和类的区别】 结构体是值类型,类是引用类型 结构体存在栈中,类存在堆中 结构体成员不能使用protected访问修饰符,而类可以 结构体成员变量申明不能指定初始值,而类可以 结构体不能申明无参的构造函数,而类可以 结构体申明有参构造函数后,无参构造不会被顶掉 结构体不能申明析构函数,而类可以 结构体不能被继承,而类可以 结构体需要在构造函数中初始化所有成员变量,而类随意 结构体不能被静态static修饰(

MrTang_Unity的博客 890

【唐老狮】C#——封装:静态成员

​​关于面向对象三大特性之封装,我们已经学习了许多知识点:类和对象、成员变量和访问修饰符、成员方法(函数)、构造函数和析构函数、成员属性、索引器。当你看到这些知识点时,如果发现自己已经不清楚或者忘记了,你可以再看看前几篇文章来进行回顾。 ​​今天我们要讲的是一个非常重要的知识点,是面试中经常会问到的内容——静态成员。 【静态成员】 静态关键字 static 静态成员 用static修饰的 成员变量 成员方法 成员属性 等 特点 直接...

MrTang_Unity的博客 969

【唐老狮】C#——多态和vob

​​截止目前,我们已经学会了面向对象中封装和继承两大特性的相关知识点。简单理解它们,封装就是用代码形容一个现实对象,继承就是复用代码,通过继承可以让类之间建立父子关系,复用一些特征和行为。 ​​那么,我们接下来要继续学习最重要的一个特性——多态。 【多态】 概念 同一类型对象 执行相同行为 有不同的表现 为什么要学习多态? ​​根据多态的概念,很多同学可能会写出如上的代码,子类中重新实现一个SpeakName的方法,前面加一...

MrTang_Unity的博客 994

【唐老狮】C#——多态:抽象类和抽象方法

上篇回顾 概念 同一类型对象 执行相同行为 有不同的表现 多态的实现 ↓↓↓↓ 编译时多态 函数重载 运行时多态 虚函数(vob) 抽象函数(之后讲) 接口(之后讲) vob virtual(虚函数) override(重写) v和o结合使用 实现多态 base(父类) 保留父类行为 ​​上一篇我们已经学习了多态的基本概念,和利用vob来实现多态。今天我们将学习多态的另一种实现——抽象类和抽象函数。 【抽象类和抽象函数】 ...

MrTang_Unity的博客 589

【唐老狮】C#——封装:成员变量和访问修饰符

​上篇回顾 类是对象的模板 用来抽象现实对象 对象是类的实例 用来表示现实对象个体 类是一个自定义变量 实例化类对象 是在声明变量 今天我们将来学习 对象的特征 成员变量 【成员变量】 面向对象编程思想,简单点说就是用程序语言来抽象(形容)出现实对象。现在我们已经知道类是用来形容对象的,而对象是类实例化出来的。而具体对象的特征和行为在类中表现主要是通过:成员变量和成员方法体现的。 成员变量 ↓↓↓↓ 在类里...

MrTang_Unity的博客 843

唐老狮C#进阶课程练习题(自写,如果有更好的方法欢迎讨论)(1)

定义一个泛型方法,方法内判断该类型为何类型,并返回类型的名称与占有的字节数,如果是int,则返回“整形,4字节”只考虑以下类型int:整形char:字符float:单精度浮点数string:字符串如果是其它类型,则返回“其它类型”(可以通过typeof(类型) == typeof(类型)的方式进行类型判断)return "整形" + "\t" + sizeof(int) + "字节";return "字符" + "\t" + sizeof(char) + "字节";

u012177821的博客 1111

c++继承构造函数

【1】为什么需要继承构造函数? 首先,看看如下代码片段: 1 struct A 2 { 3 A(int i) 4 {} 5 }; 6 7 struct B : A 8 { 9 B(int i) : A(i) 10 {} 11 }; 在C++中非常常见:B派生于A,B在构造函数中调用A的构造函数,从而完成构造函数的“传递”。 有时候,基类可能拥有数量众多的不同版本的构造函数(这样的情况并不少见)。 那么,倘若基类中有大量的构造函数

digitalkee的博客 1万+

利用C#实现贪吃蛇

不应该强迫别人依赖他们不需要使用的方法,一个接口不需要提供太多的行为,一个接口应该尽量只提供一个对外的功能,让别人去选择需要实现什么样的行为,而不是把所有的行为都封装到一个接口当中。②为了能在此类中调用ChangeScene函数,特将Game类中的ChangeScene函数设为static,由于静态方法中不能调用成员变量,则将nowScene也设为静态变量。例如:飞行接口、走路接口、跑步接口等等虽然都是移动的行为,但是我们应该把他们分为一个一个单独的接口,让别人去选择使用。

K_CRACKING的博客 1700

C#子类对基类方法的继承、重写与隐藏详解

主要介绍了C#子类对基类方法的继承、重写与隐藏的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

STM32+EC800M-CN 4G模块数据透传踩坑实录:从AT指令调试到花生壳内网穿透

本文详细介绍了STM32与移远EC800M-CN 4G模块的数据透传实现过程,包括硬件连接、AT指令调试、TCP连接建立以及花生壳内网穿透配置。通过实战案例和代码示例,帮助开发者快速解决4G通信模块在物联网应用中的常见问题,提升数据传输稳定性。

weixin_42715608的博客 320

【GPT】Coze使用开放平台接口-【7】Dify 比较篇

coze 用于社交,dify 用来内部构建。抛开工作流,机器人,工具,coze 最大的区别在于可以直接发布到社交媒体上。所以,coze 对操作体验上也花了不少功夫,而 dify 就专注在帮助使用者打磨工作流。coze 各个大模块之前可以联动的机制也比较多,所以侧重点各不相同。

非晓为骁的博客 7612

告别手动核对!用这个ABAP报表一键导出所有物料的库存与需求清单

本文介绍了如何通过定制化ABAP报表一键导出SAP系统中所有物料的库存与需求清单,整合MD04、MB52、ME2N等多个事务码的数据,大幅提升供应链管理和生产计划效率。该报表可自动生成包含库存状态、MRP需求、采购订单等关键指标的物料全景视图,帮助企业减少手工操作错误,节省时间成本。

weixin_33725515的博客 467

基于BS21的星闪模块设计电路SLE/BLE

基于BS21的星闪模块设计电路SLE/BLE HI2821

2503_91889531的博客 2738

【好物推荐】MQTTX 快速入门使用指南

摘要:MQTTX是一款跨平台MQTT客户端工具,支持MQTT 5.0/3.1.1协议,提供桌面版、网页版和CLI版本。本文介绍了快速入门指南,包括下载安装、核心概念解释、连接公共MQTT服务器(broker.emqx.io)的步骤,以及订阅主题、发布和接收消息的操作流程。文章还提供了常见问题排查方法,帮助用户快速完成MQTT开发调试的基本操作。

奶爸的编程之路,也就一周冷个三天 860

Challenge 4 - OSCP A

在c盘下发现一个windows.old,在里面可以找到SYSTEM和SAM文件,下载到本地,利用samdump2解密发现没解出来,再来试试pwdump.py(https://github.com/CiscoCXSecurity/creddump7)得到压缩包密码bludecode,解压之后发现一个比较特殊的文件configuration.php,里面有两个类似密码的字符串。登录之后在/opt/backups/下发现几个特殊文件,其中sitebackup3.zip是个正常的压缩包。但是这个压缩包是有密码的。

羽的博客 5777

第一章 EB安装

1.DemoWorkspace 是基于EB当前组件配置下的例程,包含了启动文件和中断服务函数以及组件demo。2.Mclsar 下存放的是EB的插件包和静态MCAL的驱动文件。

舊梦的博客 1954

【Conda虚拟环境】新建 + 激活 + 安装 + 查看 + 退出 + 删除 + 复制 + 导出 + 导入 + 更改

(1)创建虚拟环境(2)激活虚拟环境(4)查看虚拟环境(3)退出虚拟环境(5)删除虚拟环境(6)复制虚拟环境(7)导出虚拟环境(8)导入虚拟环境(9)更改虚拟环境的安装路径(10)在指定路径下,配置虚拟环境

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 4万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 【唐老狮】C#——继承:里氏替换原则(is和as)
下一篇: 【唐老狮】C#——继承:万物之父和装箱拆箱
一唐老狮一
博客等级 码龄5年 507粉丝 79原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值