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

C#学习笔记2

本次学校让我学习到了面向对象的三大核心关键词的意义四大特征的使用。

一,面向对象

(一)面向对象概述

面向对象是为了让代码去描述事物,将他们看成一个个对象,然后让他们相互关联配合完成功能。三大核心关键词,类,对象,成员。

类:是对象的模板,定义事物的特征和行为

对象:类的具体实例

成员:数据+方法+属性+构造方法等。是构成一个类,描述一个对象的所有元素统称。

(二)封装

封装是将对象的属性和方法统一封装到类中,使用private关键字将其私有化,然后进行封装,对外隐藏,内部实现细节。可以起到保护数据安全,防止外部随意修改,结构更清晰,便于维护和扩展,体现形式:

创建私有变量_name,_age。然后对其封装,通过公共属性Name,Age对外提供访问入口,并且可以在内部进行控制。然后构造方法对其进行赋值,在创建对象的时候直接传入参数,完成初始化。

(三)继承

继承是指一个子类继承父类的属性和方法,从而实现代码复用,子类还可以在父类基础上扩展新功能或重写父类方法。作用:减少重复代码、体现类之间的从属关系、便于统一维护和扩展。

注意:子类没有继承父类的私有字段(private),且一个类只能有一个父类但是可以多层继承,就是例如爷爷到爸爸到儿子继承下来。但是不能一个子类有多个父类。

成员变量与成员方法的访问规则

如果成员变量的名字和父类变量相同,则直接使用的时候采用子类的变量,父类变量隐藏。如果你是故意在子类中声明父类同名变量,则在里面加一个new表示是故意的。如果在子类中想要访问父类中的同名变量,可以加base.变量名。

继承中构造方法的使用:是在首次创建类对象时执行的方法,它们通常用于初始化对象的数据。构造函数的名称和类的名称完全相同,且没有任何返回类型。 并且有多个构造方法,但虽然名字相同但是每个方法传入的参数,数量不完全相同。

(四)多态

多态性常被视为自封装和继承之后,面向对象编程的第三个支柱。 多态性表示当同一操作作用于不同的对象时,可以有不同的行为,返回多种执行结果。在实际的应用中,多态性常表现为“一个接口,多个功能。 C# 的多态性可以是静态的或者动态的。 在静态多态性中,函数的响应是在编译时发生的。在动态多态性中,函数的响应是在运行时发生的。


静态多态性

编译时的多态性是通过重载实现的, 对于非虚的成员, 系统在编译时会根据传递的参数、返回的类型等信息决定实现何种操作。在编译期间,函数和对象的连接机制被称为早期绑定,也被称为静态绑定。C# 提供了两种技术来实现静态多态性,分别为函数重载和运算符重载。 以函数重载为示例。

动态多态性

只有到系统运行时,程序才根据实际情况实现具体行为。C# 支持的动态多态性可以通过重写基类中抽象方法和虚方法来实现。

抽象方法:

(五)抽象

核心思想是只描述事物的本质特征和行为规范,不关注具体的实现细节。通过抽象,我们可以把复杂的系统简化,只保留需要关注的功能,忽略无关的内容,让程序结构更加清晰、规范。

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

相关文章:

  • **张量核心驱动下的编程语言革新:从PyTorch到自定义DSL的实践与思考**在深度学习迅
  • 如何用IDR破解Delphi程序迷局:3个关键技术突破与实战应用
  • 主流老人轮椅品牌对比:谁才是真正的安心之选? - 资讯焦点
  • AI 日报 - 2026年4月13日
  • 给openclaw配置Chrome远程调试
  • 文脉定序实战教程:如何将BGE-Reranker-v2-m3集成进现有ES/Meilisearch检索链
  • 从文字到视觉:Text2Image注意力机制图像生成开源方案
  • 3步解决黑苹果EFI配置难题:OpCore-Simplify让你的黑苹果之旅轻松上手
  • 从零到一:基于51单片机与DS18B20的智能温度监控系统实战
  • MySQl语句中别名引用的误点
  • 南京离婚律师事务所哪个靠谱 - 资讯焦点
  • 《SAP FICO系统配置从入门到精通共40篇》004、财务会计全局性配置:会计年度与货币设置:那些年我们踩过的“时间”与“钱”的坑
  • 基于深度学习CNN的智慧电力电缆状态巡检 电力线路覆冰状态 电力线路覆冰检测数据集 电力巡检系统实现覆冰风险自动识别第10413期 (1)
  • BN / LN / RMSNorm
  • 终极生物图像分析指南:如何用CellProfiler自动处理数千张图像
  • Rust的Pin类型:理解自引用结构体的安全固定
  • 设计企业级SKILL的7个最佳实战原则
  • 高效截图工具对比:Snipaste与FastStone Capture的实战应用
  • Finereport报表导出进阶:利用JS与URL参数实现Sheet页的精准筛选与导出
  • 软件范围管理中的需求变更控制
  • OpCore Simplify终极指南:5分钟搞定Hackintosh EFI配置,小白也能轻松上手
  • IINA播放器完整指南:macOS专业视频播放解决方案深度解析
  • Performance-Fish:让《环世界》流畅度提升400%的终极性能优化方案
  • 云容笔谈·东方红颜影像生成系统实战:为游戏角色批量生成古风立绘
  • 微波管参数全解析:高能辐射
  • BIThesis 3.7.0更新指南:北京理工大学研究生论文格式规范升级解析
  • 精通猫抓扩展:7个高级配置与流媒体解析实战技巧
  • 项目介绍 MATLAB实现基于RNN-XGBoost-CNN 递归神经网络(RNN)结合极限梯度提升(XGBoost)与卷积神经网络(CNN)进行股票价格预测的详细项目实例(含模型描述及部分示例代码)
  • 全球压缩机式家用冰淇淋机市场分析报告
  • Seaborn调色板实战:从数据特征到视觉表达的配色艺术