前言
在上一节中,我们已经了解了面向对象开发的概念和原则,那今天,我们就来讲讲c#中的类。
c#中的类是我们面向对象开发使用最频繁的东西。
在未来我们要学习的unity开发中也是必不可少的。
所以希望屏幕前的你务必把这一块的知识学得扎实一些,好为未来的工作做好打算。
类的概念
万物皆对象,用程序抽象出来的对象的概况就是类。
在C#中,类是一种数据结构,用于封装数据和行为。它是面向对象编程的核心概念之一。一个类可以定义对象的属性(数据)和方法(行为),并且可以根据该类创建多个对象。
我们概括一下注意事项(要点):
- 类一般具有相同的特征或者行为:比如不管是苹果树(对象)或者葡萄树(对象)都是树(一个类),他们都有根(特征)
- 是一类事物程序的抽象语言(用程序描述一个人的特征,描述后形成的数据结构就是类)
- 类是对象的模板,比如人(类)有说话的能力,小明说了你好(照着人提供的说话能力实现的)
- 可以通过类创建对象,比如有了人(类),就可以创建出一个叫小刚的人(对象)。
- 类的关键词:class
声明的语法
访问修饰符 class 类名
{特征——成员变量//构造函数和析构函数行为——成员方法//索引器保护特征——成员属性//运算符重载或者静态成员
}
有些概念你看不懂也没关系,这些我们在后面都会一一讲解,你现在需要知道的就是,类里面会有特征和行为就OK了。
申明的实例
以下是博主对一个类的声明,接下来我们围绕着这个例子展开来讲解类。
我们来实现一个人的类,简单来说,他有名字,然后会打招呼,我们基于此来实现它。
public class Person
{// 特征private string name;// 属性public string Name//后续成员属性会讲,这里你只用知道是给name赋值就行{get { return name; }set { name = value; }}// 方法public void SayHello(){Console.WriteLine("Hello, my name is " + name);}
}
tips:声明一般在namespace语句块中。
类对象的概念
- 类的声明和类对象的声明是两个概念,一个是声明框架,一个是声明实例。(声明树这一个种类和声明这里确实存在一颗怎样的树)
- 类的声明类似枚举和结构体的声明,类的声明相当于声明一个自定义的变量类型
- 对象是创建出来的,相当于声明一个指定类这种变量类型的变量
- 这个过程我们一般称为实例化对象。
- 类对象都是引用类型
实例化
我们继续上面声明的类,然后来实例化一个person,叫John,然后调用他自我介绍的方法。
// 创建类的实例并使用
Person person = new Person();
person.Name = "John";
person.SayHello();
打印结果如下:
Hello, my name is John
你可以自己尝试一下。
tips:如果我们再实例化一个new person,他们的所有信息也是独有的,彼此没有关系,int a和int b的区别类似。
强化
这是我们之前用结构体实现的一个小功能,现在我们用类重新来实现一下。
using System;struct StudentGrade
{public string name;public int grade;public StudentGrade(string name, int grade){this.name = name;//本身的name变量等于传入的name值this.grade = grade;}public void DisplayInformation(){Console.WriteLine("Name: {0}", name);Console.WriteLine("Grade: {0}", grade);}
}class Program
{static void Main(string[] args){// 创建学生成绩实例StudentGrade student = new StudentGrade("John Doe", 85);// 显示学生成绩信息student.DisplayInformation();Console.ReadLine();}
}
可能你的实现过程和博主不一样,博主也使用了一些后面才会讲的知识点,但使用class是可以实现的哦。
using System; class StudentGrade
{ public string Name { get; set; } public int Grade { get; set; } // 构造函数,传参public StudentGrade(string name, int grade) { Name = name; Grade = grade; } // 方法用于显示学生成绩信息 public void DisplayInformation() { Console.WriteLine("Name: {0}", Name); Console.WriteLine("Grade: {0}", Grade); }
} class Program
{ static void Main(string[] args) { // 创建学生成绩实例 StudentGrade student = new StudentGrade("John Doe", 85); // 显示学生成绩信息 student.DisplayInformation(); Console.ReadLine(); }
}
你可能有疑问结构体和类有什么区别,博主后续会进行讲解,以及为什么不同结构体来代替类,博主也会在后续讲解。
接下来的学习,类肯定会萦绕你的脑海。
总结
我们今天对类进行了简单的学习,大概了解了一些概念,也做了一点练习,我想你已经能够get到类的作用以及概念。
可能有些知识点看上去好像很难,但博主相信你只要脚踏实地的学习,一定会成为一个程序员大佬的。
请期待我的下一篇博客!共勉!