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

上一篇:

C#,入门教程(14)------字符串与其他数据类型的转换https://blog.csdn.net/beijinghorn/article/details/124004562

物以类聚,凡物必类。

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

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

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

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

一、类之定义

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

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

类的定义语法:

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

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

class的实例

cs 复制代码
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;
	}
}

二、类的属性(值)

传统的属性定义,放弃!

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

好的写法!

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

三、类的注释

1、概要注释summary

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

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

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

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

cs 复制代码
/// <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 方法:

cs 复制代码
public int Id
{
    set { Id = value + 1000000; }
    get { return Id; }
}

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

四、类的方法(函数)

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

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

五、类的应用

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

cs 复制代码
// 定义
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)的基础知识与使用禁忌https://blog.csdn.net/beijinghorn/article/details/124032216

相关推荐
XH华19 分钟前
初识C语言之二维数组(下)
c语言·算法
南宫生41 分钟前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
不想当程序猿_1 小时前
【蓝桥杯每日一题】求和——前缀和
算法·前缀和·蓝桥杯
落魄君子1 小时前
GA-BP分类-遗传算法(Genetic Algorithm)和反向传播算法(Backpropagation)
算法·分类·数据挖掘
菜鸡中的奋斗鸡→挣扎鸡1 小时前
滑动窗口 + 算法复习
数据结构·算法
Lenyiin1 小时前
第146场双周赛:统计符合条件长度为3的子数组数目、统计异或值为给定值的路径数目、判断网格图能否被切割成块、唯一中间众数子序列 Ⅰ
c++·算法·leetcode·周赛·lenyiin
郭wes代码1 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
scan7242 小时前
LILAC采样算法
人工智能·算法·机器学习
菌菌的快乐生活2 小时前
理解支持向量机
算法·机器学习·支持向量机
大山同学2 小时前
第三章线性判别函数(二)
线性代数·算法·机器学习