C#,入门教程(15)——类(class)的基础知识

news2024/12/22 13:12:45

上一篇:

C#,入门教程(14)——字符串与其他数据类型的转换icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/124004562

物以类聚,凡物必类。

类的使用,须遵循几个简单的原则:

(1)能类则类,留有余地。

(2)凡数据体及其集合,必写为类;

(3)凡类,必独立文件;

一、类之定义

类class实际上可以理解为“复合信息”。

class 的复合性,就是指class既包括数据,也包括对数据的处理方法(算法)。

类的定义语法:

访问修饰词(public/private) 修饰符(static/abstract/sealed) class 类名字
{
    // 字段(或称为属性,存储数据)
    访问修饰词(public/private) 修饰符(static) 数据类型(如:int) 属性名 { get; set; } = 初值;

    // 函数(或称为方法,处理数据)
    访问修饰词(public/private) 修饰符(static) 数据类型(如:int) 函数名(参数列表)
    {
        ;
    }
}

class的实例

public class PersonInfo
{
	/// <summary>
	/// 编码
	/// </summary>
	public int Id { get; set; } = 0;

	/// <summary>
	/// 姓名
	/// </summary>
	public string Name { get; set; } = "";

	/// <summary>
	/// 姓名的小写
	/// </summary>
	/// <returns></returns>
    public string LowName()
    {
        return Name.ToLower();
    }

	/// <summary>
	/// 重载ToString方法
	/// </summary>
	/// <returns></returns>
	public override string ToString()
	{
		//return base.ToString();
		return Id + ":" + Name;
	}
}

二、类的属性(值)

传统的属性定义,放弃!

// 不好的写法!坚决放弃!
private int _Id = 0;
public int Id
{
    get 
    {
        return _Id;
    }
    set
    {
        _Id = value;
    }
}

好的写法!

/// <summary>
/// 节点的序号,在数组中的位置
/// </summary>
public int Id { get; set; } = 0;

三、类的注释

1、概要注释summary

C# 与 Visual Studio 的概要 XML 注释的完美结合是软件工程的伟大创举,大大提高了应用持续的开发效率。summary 很重要!这是工程应用 的必需品!

(1)summary注释信息的自动创建

        自动添加 summary 的方法(属性、函数一样)。

        属性的summary相对简单。函数的summary将自动添加 参数名、返回值等。

/// <summary>
/// 按奖项简称(ssq)查询奖项信息
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static GameInfo FindByName(string name)
{
	if (hash_name[name.ToLower()] != null)
	{
		return (GameInfo)hash_name[name.ToLower()];
	}
	return new GameInfo();
}

(2)summary 的作用

        a、编写持续 鼠标停留 在 类、函数、属性的上面时,自动显示这些注释信息。

        者对于阅读、理解与使用相关程序极为便利!

        b、在 类、函数、属性 上面自动显示被使用的次数;点击可以看到使用场合的基本信息!

        真是天才设计!

2、get ; set; 很重要!

高效率开发的手段!

可以编写单独的 get  与 set  方法:

public int Id
{
    set { Id = value + 1000000; }
    get { return Id; }
}

主要用于输入数据的检查等。

四、类的方法(函数)

自从有了高级编程语言,函数就如同“砖块之于建筑”。

类内的,主要用于处理类属性(字段)数据的函数Function,也称为方法Method。

五、类的应用

你可以简单地把类看成是一种数据类型。

// 定义
public class MyClass
{
    public int Id { get; set; } = 0;
    public string Name { get; set; } = "";
}

// 使用
MyClass oneMember = new MyClass();
// 数组
MyClass[] arrayofMember = new MyClass[10];
// 列表
List<MyClass> listMember = new List<MyClass>();

而类的每个实例(实例就是new 之后创建的类一个样本!)都拥有类定义的全部可访问属性、方法。

记得 new 哦!

下一篇:

C#,入门教程(16)——可变数据类型(var)的基础知识与使用禁忌icon-default.png?t=N7T8https://blog.csdn.net/beijinghorn/article/details/124032216

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1376074.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

selenium不自动关闭chrome,selenium hello world

selenium不自动关闭chrome 用visual studio的话&#xff0c;右键&#xff0c;在终端运行。 from selenium import webdriveroptions webdriver.ChromeOptions() options.add_experimental_option("detach", True) driver webdriver.Chrome(optionsoptions) url …

世微大功率 内置2.5A宽电压降压恒流 LED电源驱动车灯IC AP5193

AP5193是一款PWM工作模式,高效率、外围简单、 内置功率MOS管&#xff0c;适用于4.5-100V输入的高精度 降压LED恒流驱动芯片。电流2.5A。AP5193可实现线性调光和PWM调光&#xff0c;线性调光 脚有效电压范围0.55-2.6V. AP5193 工作频率可以通过RT 外部电阻编程来设定&#xff0c…

【Python】编程练习的解密与实战(三)

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《Python | 编程解码》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 目录 &#x1fa90;1. 初识Python &a…

机器人制作开源方案 | 六足灾后探测机器人

作者&#xff1a;毕钟诚 施钥 范江龙 张莉曼 陈金凤 单位&#xff1a;中国石油大学&#xff08;北京&#xff09; 指导老师&#xff1a;许亚岚 孙琳 世纪全球自然灾害频发&#xff0c;灾后探测重建工作十分重要&#xff0c;极端恶劣的现场探测环境&#xff0c;频发的余震甚至…

Unity获取系统语言

大家好&#xff0c;我是阿赵。   在使用Unity引擎做多语言的游戏时&#xff0c;很有可能需要根据用户的手机或者电脑的当前语言来设置游戏的默认语言。   Unity的API里面默认就有可以获取系统语言的方法&#xff1a; Application.systemLanguageUnity的API例子&#xff1a…

Redis 为什么要分16个库

目录 一. 前言 二. 16 个数据库的由来 三. 正解 Redis 数据库概念 四. 集群环境下的 Redis 实例 五. 总结 一. 前言 在实际的项目中&#xff0c;Redis 常被用作缓存、分布式锁、消息队列等的解决方案。但是在搭建好Redis 服务后&#xff0c;Redis 默认创建了16个数据库&am…

基于知识图谱的健康知识问答系统

基于知识图谱的健康知识问答系统 引言数据集与技术选型数据集技术选型 系统功能与实现数据导入与图数据库构建问答任务设计与实现1. 实体提取2. 用户意图识别 前端聊天界面与问答系统 结语 引言 随着互联网的发展&#xff0c;人们对健康知识的需求逐渐增加。为了更方便地获取健…

Windows安全基础:认证基础知识

目录 Windows凭据 Windows访问控制模型 访问令牌&#xff1a; 安全标识符&#xff08;SID&#xff09;&#xff1a; 安全描述符&#xff1a; 令牌安全防御 1、禁止域管理员异机登录 2、开启“审核进程创建”策略 Windows凭据 SSPI&#xff08;Security Support Provide…

【PHP】PHP实现与硬件串口交互,接收硬件发送的实时数据

一、前言 目的&#xff1a;借助虚拟串口软件&#xff08;VSPD&#xff09;模拟硬件串口发送数据&#xff0c;使用PHP语言实现接收硬件发送的数据。 我这里的需求是连接天平&#xff0c;把天平的称量数据实时的传送到PHP使用。 使用工具&#xff1a;vspd串口调试工具 使用语…

第十三章Filter

第十三章Filter 1.什么是Filter过滤器2.Filter过滤器的基本使用示例3.完整的用户登录和权限检查4.Filter的生命周期5.FilterConfig类6.FilterChain多个过滤器执行的细节7.Filter的拦截路径 1.什么是Filter过滤器 2.Filter过滤器的基本使用示例 现在下面三个都是可以访问的&…

PPT插件-大珩助手-《提取选中的幻灯片》-选中新建

选中新建 提取选中的幻灯片到新的幻灯文稿中。PDF编辑器可以提取指定的页面到新的PDF文档中&#xff0c;PPT没有这个功能&#xff0c;因此开发。 软件介绍 PPT大珩助手是一款全新设计的Office PPT插件&#xff0c;它是一款功能强大且实用的PPT辅助工具&#xff0c;支持Wps Wo…

Docker介绍安装及使用

目录 引言一、什么是Docker?二、Docker的优势三、Docker的架构四、Docker的安装五、Docker的基本使用六、Docker与传统虚拟化的比较七、Docker的应用场景八、总结 引言 在现代的软件开发和部署中&#xff0c;容器化技术已经成为了一种趋势。Docker作为容器化技术的领先者&…

im6ull学习总结(三-五)freetype显示正行字

知识补充 笛卡尔坐标系 这里笛卡尔坐标系就是初高中学的直角坐标系的第一象限 lcd坐标系则不同 这两个坐标系如何转换 观察两个坐标系 点&#xff08;x,y&#xff09;的x坐标在两个坐标系中相同&#xff0c;纵坐标&#xff08;y&#xff09;存在着yV-yV V是整个屏幕的行数的像…

基于RNN的模型

文本数据是一种典型的具有序列结构的数据&#xff0c;因为文本通常是由一系列的词语或字符组成的序列。每个词语或字符在文本中都有特定的位置和顺序&#xff0c;这种有序的结构对于理解和处理文本的含义至关重要。因此&#xff0c;多数情况下需要使用时间序列建模来完成相应的…

C/C++ 堆排序

个人主页&#xff1a;仍有未知等待探索-CSDN博客 专题分栏&#xff1a;数据结构_仍有未知等待探索的博客-CSDN博客 欢迎大家来指教&#xff01; 一、前言 今天要介绍的是堆排序。 首先什么是堆&#xff1f;简而言之&#xff0c;堆就是二叉树的数组形式&#xff0c;用数组来存…

【C++】类和对象之匿名对象友元内部类

目录 一、匿名对象 1、基础格式 2、使用场景 二、友元 1、友元函数 2、友元类 三、内部类 1、概念 2、特性 四、拷贝对象时的一些编译器优化 1、函数传参 2、对象返回 一、匿名对象 1、基础格式 【注意】 &#x1f7e2;匿名对象的声明周期只有当前行&#xff0c;进入…

推荐熊猫电竞赏金电竞系统源码

熊猫电竞赏金电竞系统源码&#xff0c;包含APP、H5和搭建视频教程&#xff0c;支持运营级搭建&#xff0c;这套源码是基于ThinkPHPUniaapp框架开发的。 系统是一套完整的电竞平台开发源码&#xff0c;包括赛事管理、用户系统、竞猜系统、支付系统等模块。源码结构清晰&#xff…

OpenGL排坑指南—贴图纹理绑定和使用

一、前言 在OpenGL学习 的纹理这一章中讲述了纹理贴图的使用方式&#xff0c;主要步骤是先创建一个纹理的对象&#xff0c;和创建顶点VAO类似&#xff0c;然后就开始绑定这个纹理&#xff0c;最后在循环中使用&#xff0c;有时候可能还要用到激活纹理单元的函数。然而&#xff…

【漏洞复现】先锋WEB燃气收费系统文件上传漏洞 1day

漏洞描述 /AjaxService/Upload.aspx 存在任意文件上传漏洞 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作…

【算法】增减序列(贪心,差分)

题目 给定一个长度为 n 的数列 a1,a2,…,an&#xff0c;每次可以选择一个区间 [l,r]&#xff0c;使下标在这个区间内的数都加一或者都减一。 求至少需要多少次操作才能使数列中的所有数都一样&#xff0c;并求出在保证最少次数的前提下&#xff0c;最终得到的数列可能有多少种…