第四章 初步认识类
-
数据成员存储数据,包括字段和常量;函数成员执行代码,包括方法、属性、构造函数、析构函数;运算符、索引器以及事件。
-
声明类:[访问修饰符] class 类名 {类的成员}
class Myclass {public void Mymethod{Console.WriteLine("this is my first class");}}
public是访问修饰符,在类中我们声明一个方法Mymethod,完成打印功能。 -
字段:是类的变量,可以存储数据,可读可写,可以是预定义类型或者用户定义类型。定义格式:[访问修饰符] 类型 字段名;如
public class Myclass {public int val;}
-
字段定义时可以对其初始化,显式或者隐式,显式就是直接赋值,隐式则是利用自动初始化,值类型的默认值为0,bool型默认false,引用类型默认是null。如果同时声明多个字段,字段之间用逗号隔开,
private int val1,val2 = 16;
这里表示定义一个私有字段,只能由定义的类访问,不能由类的实例或派生类访问 。 -
方法:具有名称的可执行代码块,声明方法格式:[访问修饰符] 返回类型 方法名([参数列表]) {方法体},如
public void Mymethod(){Console.WriteLine("the harder you work,the luckier you are!");}
这里定义了一个无参方法。 -
声明类类型的变量所分配的内存是为存储引用,而不是保存类对象实际数据的,可以使用new运算符为实际数据分配内存。
-
**new运算符:**可以为任意指定类型的实例分配并初始化内存,格式:类名 实例名 = new 类名(),圆括号是必不可少的;如
Myclass mycl = new Myclass();
这样就为类Myclass创建一个实例mycl,此时定义的类是无参的。 -
访问修饰符:五种,即 public,private,protected,internal,protected internal。
(1) public:对任何类都可以访问.(2) private: 只允许定义它的类访问,不允许其他的类或者派生类访问。
(3) protected: 对所有继承该类的类可访问
(4) internal:对程序集内的类可访问
(5) protected internal: 对所有继承该类或者在程序集内声明的类可访问。
-
综合应用:声明一个类,创建类的实例,访问类的成员,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Text;
namespace test1
{
class Program
{
public class Myclass //声明一个类
{
public int val = 20; //定义一个字段
public void Mymethod(string str) //声明一个带参的方法
{
Console.WriteLine(str);
}
}
static void Main(string[] args)
{
Myclass a1 = new Myclass(); //实例化类
a1.Mymethod("自动化1401班,加油!"); //访问类的方法
Console.WriteLine("a1.val = {0}",a1.val); //访问类的数据成员
}
}
}