前言
在上一节中,我们已经了解了面向对象开发的概念和原则,那今天,我们就来讲讲c#中的类。
c#中的类是我们面向对象开发使用最频繁的东西。
在未来我们要学习的unity开发中也是必不可少的。
所以希望屏幕前的你务必把这一块的知识学得扎实一些,好为未来的工作做好打算。
类的概念
万物皆对象,用程序抽象出来的对象的概况就是类。
在C#中,类是一种数据结构,用于封装数据和行为。它是面向对象编程的核心概念之一。一个类可以定义对象的属性(数据)和方法(行为),并且可以根据该类创建多个对象。
我们概括一下注意事项(要点):
- 类一般具有相同的特征或者行为:比如不管是苹果树(对象)或者葡萄树(对象)都是树(一个类),他们都有根(特征)
- 是一类事物程序的抽象语言(用程序描述一个人的特征,描述后形成的数据结构就是类)
- 类是对象的模板,比如人(类)有说话的能力,小明说了你好(照着人提供的说话能力实现的)
- 可以通过类创建对象,比如有了人(类),就可以创建出一个叫小刚的人(对象)。
- 类的关键词:class
声明的语法
cs
访问修饰符 class 类名
{
特征------成员变量//构造函数和析构函数
行为------成员方法//索引器
保护特征------成员属性//运算符重载或者静态成员
}
有些概念你看不懂也没关系,这些我们在后面都会一一讲解,你现在需要知道的就是,类里面会有特征和行为就OK了。
申明的实例
以下是博主对一个类的声明,接下来我们围绕着这个例子展开来讲解类。
我们来实现一个人的类,简单来说,他有名字,然后会打招呼,我们基于此来实现它。
cs
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,然后调用他自我介绍的方法。
cs
// 创建类的实例并使用
Person person = new Person();
person.Name = "John";
person.SayHello();
打印结果如下:
applescript
Hello, my name is John
你可以自己尝试一下。
tips:如果我们再实例化一个new person,他们的所有信息也是独有的,彼此没有关系,int a和int b的区别类似。
强化
这是我们之前用结构体实现的一个小功能,现在我们用类重新来实现一下。
cs
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是可以实现的哦。
cs
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到类的作用以及概念。
可能有些知识点看上去好像很难,但博主相信你只要脚踏实地的学习,一定会成为一个程序员大佬的。
请期待我的下一篇博客!共勉!