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

上一篇:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

宏集案例丨宏集PC Runtime软件助推食品行业生产线数字化革新

来源&#xff1a;宏集科技 工业物联网 宏集案例丨宏集PC Runtime软件助推食品行业生产线数字化革新 原文链接&#xff1a;https://mp.weixin.qq.com/s/DwzVzifUiidNr-FT3Zfzpg 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 01 前言 近年来&#xff0c;中国食品行业…

想进入游戏开发领域,应该先学习C++编程还是C#编程?

想进入游戏开发领域&#xff0c;应该先学习C编程还是C#编程&#xff1f; 当你决心踏入游戏开发者的行列时&#xff0c;最先迎接你的将是引擎的选择。引擎是游戏的心脏&#xff0c;所有精彩的画面和内容都是脉脉游戏血液从引擎中流淌而出。Unity、Unreal Engine、Cocos等引擎盛…

牛客字符串

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 例如&#xff1a;…

存储卷(数据卷)—主要是nfs方式挂载

1、定义 容器内的目录和宿主机的目录进行挂载 容器在系统上的生命周期是短暂的&#xff0c;一旦容器被删除&#xff0c;数据会丢失。k8s基于控制器创建的pod&#xff0c;delete相当于重启&#xff0c;容器的状态会恢复到原始状态。一旦回到原始状态&#xff0c;后天编辑的文件…

二叉树的层序遍历(C++详解)

文章目录 写在前面解题思路具体做法 写在前面 本篇文章使用C实现了二叉树的层序遍历。在实现二叉树层序遍历时&#xff0c;一般情况下&#xff0c;大家可能直接输出遍历结果。然而&#xff0c;在解决在线评测&#xff08;OJ&#xff09;问题时&#xff0c;有时要求将每一层的遍…

这7个设计素材网站太好用了,特别是第一款!

网页设计师在使用网页设计素材时&#xff0c;会优先考虑那些免费优质的网页设计素材网站。找到一个免费优质的网页设计素材网站并不容易。有些网站要么需要开设材料网站的会员&#xff0c;要么设计素材质量差。即时设计整理总结了 7 个免费的网页设计素材网站&#xff0c;对 “…

GENMARK控制器维修SMALL SMC4092

晶圆转移机器人SMALL CONTROLLER控制器维修 SMC1100 半导体设备机械臂GENMARK控制器维修 eSensor特点&#xff1a; &#xff08;1&#xff09;基于DNA杂交和电化学检测原理&#xff1b; &#xff08;2&#xff09;电化学传感检测&#xff0c;并非荧光或光学检测。 电子信号的…

中国光伏展

中国光伏展是中国最大的光伏产业展览会&#xff0c;每年在国内举办一次。该展览会汇集了国内外光伏行业的领先企业和专业人士&#xff0c;展示最新的光伏技术、产品和解决方案。 中国光伏展旨在促进光伏行业的发展和创新&#xff0c;提升光伏产业的国际竞争力。展览会涵盖了光伏…

一、Sharding-JDBC系列01:整合SpringBoot实现分库分表,读写分离

目录 一、概述 二、案例演示-水平分表 (1)、创建springboot工程 (2)、创建数据库和数据表 (3)、application.yaml配置分片规则 (4)、测试数据插入、查询操作 4.1、插入-控制台SQL日志 4.2、查询-控制台SQL日志 三、案例演示-水平分库 (1)、创建数据库和数据表 (2…

React07-路由管理器react-router-dom(v6)

react-router 是一个流行的用于 React 应用程序路由的库。它使我们能够轻松定义应用程序的路由&#xff0c;并将它们映射到特定的组件&#xff0c;这样可以很容易地创建复杂的单页面应用&#xff0c;并管理应用程序的不同视图。 react-router 是基于 React 构建的&#xff0c;…

离线安装telnet-server

telnet下载地址&#xff1a; https://vault.centos.org/ 需要下载telnet 和 telnet-server 确认自己的服务器版本&#xff0c;我这里使用的是&#xff08;Red Hat Enterprise Linux Server release 7.0 (Maipo)&#xff09;对应的是Centos 7.0,所有到 https://vault.centos.or…

平面光波导_三层均匀平面光波导_射线分析法

平面光波导_三层均匀平面光波导_射线分析法 三层均匀平面光波导&#xff1a; 折射率沿 x x x 方向有变化&#xff0c;沿 y y y、 z z z 方向没有变化三层&#xff1a;芯区( n 1 n_1 n1​) > > > 衬底( n 2 n_2 n2​) ≥ \geq ≥ 包层( n 3 n_3 n3​)包层通常为空…

许战海矩阵战略洞察:如何解决3亿调味品企业朱老六的增长难题

​长春市朱老六食品股份有限公司&#xff0c;是一家以生产腐乳、酸菜等生物发酵品为主的民营企业。 创始人团队自1991年起开发腐乳产品&#xff0c;并于1997年创立“朱老六”品牌。公司专研地道东北味&#xff0c;有着多年的专业经验和深厚的行业积淀&#xff0c;2019年腐乳产…

创建ROS模型与小机器人地图规划

1、打开自己的VM系统 2、安装小机器人的安装包&#xff0c;输入如下命令&#xff0c;回车输入密码(自己设的)&#xff1a; sudo apt install ros-noetic-turtlebot3-simulations ros-noetic-turtlebot3-slam ros-noetic-turtlebot3-navigation 提示我之前安装过了 3、用rosla…

Redis相关报错信息:Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。

报错信息&#xff1a; Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝&#xff0c;无法连接。 报错原因&#xff1a; 访问不到Redis服务 解决方案&#xff1a; 将Redis服务打开&#xff01; 使用cmd命令行打开本机服务管理&#xff1a; services…

全志T113开发板Qt远程调试

1引言 通常情况下工程师在调试Qt程序时&#xff0c;需要频繁制作镜像烧录到核心板来测试Qt程序是否完善&#xff0c;这样的操作既费时又费力。这时我们可以通过QtCreator设备功能&#xff0c;定义设备后&#xff0c;在x86_64虚拟机上交叉编译qt程序&#xff0c;将程序远程部署到…

el-form中一个el-form-item需要规则校验多个input

我的数据的格式&#xff1a; formData: {ipAddress: {one: ,two: ,}, }, 代码结构&#xff1a; <el-form-item label"IP地址" prop"ipAddress"><el-input-numberv-model"formData.ipAddress.one"class"ip-address":contro…

万能字符单词拼写 - 华为OD统一考试

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 有一个字符串数组 words 和一个字符串 chars。假如可以用 chars 中的字母拼写出 words 中的某个"单词"(字符串),那么我们就认为你掌握了这个单词。 words 的字符仅由 a-z 英文小写宁母组成,…

003-10-02【Spark官网思维笔记】香积寺旁老松树边马大爷家女儿大红用GPT学习Spark入门知识

003-10-02【Spark官网思维笔记】香积寺旁老松树边马大爷家女儿大红用GPT学习Spark入门知识. Spark 快速入门快速开始使用 Spark Shell 进行交互式分析&#xff1a;独立的应用程序其他 1, 使用 Spark Shell 进行交互式分析1.1 基本1.2 有关Dataset操作的更多信息1.3 缓存 2&…

景联文科技:以高质量数据赋能文生图大模型

1月5日&#xff0c;在智求共赢・中国AIGC产业应用峰会暨无界AI生态合作伙伴大会上&#xff0c;中国AIGC产业联盟联合无界AI发布了《中国AIGC文生图产业白皮书2023》&#xff0c;从AIGC文生图发展历程、主流工具、产业实践以及规模预测等多个维度&#xff0c;全面揭示了中国AIGC…