(17)C# 基础 —— 类(Class)

.NET C# Web开发学习之路(17)—— 类(Class)

文章目录

  • 什么是类
  • 类修饰符
  • 构造函数
  • 析构函数

什么是类?

类是一种数据结构,可以包含数据成员(常量和域)、函数成员(方法、属性、事件、索引器、运算符、构造函数和析构函数)和嵌套类型等。类是对象在面向对象编程语言中的反映,是相同对象的集合。类描述了一系列在概念上有相同含义的对象,并为这些对对象统一定义了编程语言上的属相和方法。

在C#中,类使用关键字class来声明。例子:声明一个Car类。

    public class Car
    {
        public int number;
        public int color;
        public string brand;
    }

类修饰符

在上面声明的Car类中,public是类的修饰符。常用的类修饰有:

  • new:仅允许在嵌套类声明时使用,表明类中隐藏了由基类中继承而来的、与基类中同名的成员。
  • public :不限制对该类的访问
  • protected:只能从其所在类和所在类的子类进行访问
  • internal:只有其所在类才能访问
  • private:只有在.NET中的应用程序或者库才能访问
  • abstract:抽象类,不允许建立类的实例。
  • sealed:密封类,不允许被继承。

类定义中可以使用的访问修饰符组合

  • none or internal:类只能在当前程序中访问
  • abstract or internal:类只能在当前程序中访问,不能实例化,只能继承。
  • public abstract:类可以在任何地方访问,不能实例化,只能继承
  • sealed or internal sealed:类只能在当前程序中访问,不能派生,只能实例化
  • public sealed:类可以在任何地方访问,不能派生,只能实例化

类的默认访问修饰符

  • 构造函数默认为public访问修饰符。
  • 析构函数不能显示使用访问修饰符且默认为private访问修饰符。
  • 类的成员默认访问修饰符为private;

构造函数

构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,通常用于初始化新对象的数据成员。

    public class Person
    {
        public string name;
        public string sex;
        public int age;
        public Person()
        {
            name = "Bob";
            sex = "Man";
            age = 22;
        }
    }
    static void Main(string[] args)
    {
        Person per = new Person();
        Console.WriteLine("Name:{0},Sex:{1},Age:{2}",per.name,per.sex,per.age);
    }

运行结果为:
Name:Bob,Sex:Man,Age:22

析构函数

析构函数是类的一个特殊的成员函数。析构函数的名称是在类的名称前面加上“~”作为前缀,没有返回值,不带任何参数。

析构函数用于在某个类被认为不在有效符合析构条件时(调用完毕、关闭程序等),.NET Framework类库的垃圾回收功能就会调用该类的析构函数实现垃圾回收。

    public class Person
    {
        ~Person()
        {
             Console.WriteLine("析构函数自动调用");
        }
    }
    static void Main(string[] args)
    {
        Person per = new Person();
    }

运行结果为:
析构函数自动调用

一个类只能有一个析构函数且无法调用,它是被自动调用的

猜你喜欢

转载自blog.csdn.net/qq_39003429/article/details/81910251
今日推荐