类的基本概念
1、类的概述
类是一个能存储数据并执行代码的数据结构。它包含数据成员和函数成员。
类成员的类型
数据成员存储数据 | 函数成员执行方法 |
---|---|
字段 | 方法 |
常量 | 属性 |
构造函数 | |
析构函数 | |
运算符 | |
索引器 | |
事件 |
个人理解: 万物皆可抽象成类,如:人类,有身高、年龄、性别等数据(数据成员) 和吃饭、睡觉等行为(函数成员)
2、声明类
声明类的关键字:class
class Myclass //声明Myclass类
{
... //类成员
}
3、类成员
字段
字段是属于类的变量,可以是任何类型,用于储存类的相关数据
它们可被写入和读取
class Myclass
{
int Myid; //声明int型的Myid字段
string name = "张三"; //声明string型的name字段并给它初始化
int year = 18;height = 180; //多字段的声明
}
方法
-
方法的组成部分
- 返回类型
- 名称
- 参数列表
- 方法体
class Myclass
{
string name = "张三";
void PrintName() //声明void返回类型 PrintName 函数
{
Console.WriteLine(name); //打印name字段
}
}
4、创建类的实例
class Myclass {...}
class Program
{
static void Main()
{
Myclass class1; //Myclass 的实例
Myclass class2; //Myclass 的实例
}
}
类可被重复实例
5、给实例对象分配内存
使用new关键字
class Myclass {...}
class Program
{
static void Main()
{
Myclass class1 = new Myclass();
}
}
6、实例成员和静态成员
静态成员可直接访问,实例成员只能实例后访问
静态关键字(static)
class Student
{
public string name; //实例成员
static int height = 180; //静态成员
public Student(string name1)
{
this.name = name1;
}
void PrintName() //实例成员
{
Console.WriteLine("我叫" + name);
}
}
class Program
{
static void Main()
{
Console.WriteLine("你的身高有" + Student.height + "CM啊!");
//Console.WriteLine("我叫" + Student.name); //错误name不是静态成员
//Student.PrintName(); //错误name不是静态成员
Student stu = new Student("李四");
stu .PrintName();
Console.WriteLine("我叫" + Student.name);
}
}
输出结果
你的身高有180CM啊!
我叫李四
我叫李四
7、访问修饰符
私有的(private)
共有的(public)
受保护的(protected)
内部的(internal)
受保护内部的(protected internal)
私有的(private)只能在类的内部使用,实例对象不能访问
共有的(public)实例对象可访问
8、补充
class(关键字)类名
{
数据类型 变量名;
[可选](static) [可选]访问修饰符 返回类型 函数名()
{
函数体;
}
}