【C#补全计划:类和对象(一)】

一、创建类

cs 复制代码
using System;

namespace ClassAndObject
{
    // 创建类
    class Person
    {

    }
}

二、添加成员变量

cs 复制代码
using System;

namespace ClassAndObject
{
    // 创建类
    class Person
    {
        // 创建类的成员变量
        string name;
        char sex;
        int age;
    }
}

三、访问修饰符

cs 复制代码
using System;

namespace ClassAndObject
{
    // 创建类
    class Person
    {
        // 创建类的成员变量
        public string name; // public(公共的):内部和外部都能访问
        protected char sex; // protected(保护的):内部和子类可以访问,外部不能访问
        private int age;    // private(私有的):只有内部才能访问,外部和子类都不能访问
    }
}

四、构造函数

  1. 一般构造方法
cs 复制代码
using System;

namespace ClassAndObject
{
    // 创建类
    class Person
    {
        // 创建类的成员变量
        public string name; // public(公共的):内部和外部都能访问
        protected char sex; // protected(保护的):内部和子类可以访问,外部不能访问
        private int age;    // private(私有的):只有内部才能访问,外部和子类都不能访问

        // 无参构造方法
        public Person()
        {
            Console.WriteLine("调用无参构造方法");
        }

        // 有参构造方法
        public Person(string name)
        {
            this.name = name;
            Console.WriteLine(this.name + "调用有参构造方法");
        }
    }
}
  1. 特殊构造方法
cs 复制代码
using System;

namespace ClassAndObject
{
    // 创建类
    class Person
    {
        // 创建类的成员变量
        public string name; // public(公共的):内部和外部都能访问
        protected char sex; // protected(保护的):内部和子类可以访问,外部不能访问
        private int age;    // private(私有的):只有内部才能访问,外部和子类都不能访问

        // 无参构造方法
        public Person()
        {
            Console.WriteLine("调用无参构造方法");
        }

        // 有参构造方法
        public Person(string name)
        {
            this.name = name;
            Console.WriteLine(this.name + "调用有参构造方法");
        }

        // 特殊构造方法
        public Person(string name, char sex, int age) : this(name)
        {
            Console.WriteLine(this.name + "调用特殊构造方法");
            this.sex = sex;
            this.age = age;
        }
    }
}

五、析构方法

  1. 析构方法
cs 复制代码
using System;

namespace ClassAndObject
{
    // 创建类
    class Person
    {
        // 创建类的成员变量
        public string name; // public(公共的):内部和外部都能访问
        protected char sex; // protected(保护的):内部和子类可以访问,外部不能访问
        private int age;    // private(私有的):只有内部才能访问,外部和子类都不能访问

        // 无参构造方法
        public Person()
        {
            Console.WriteLine("调用无参构造方法");
        }

        // 有参构造方法
        public Person(string name)
        {
            this.name = name;
            Console.WriteLine(this.name + "调用有参构造方法");
        }

        // 特殊构造方法
        public Person(string name, char sex, int age) : this(name)
        {
            Console.WriteLine(this.name + "调用特殊构造方法");
            this.sex = sex;
            this.age = age;
        }

        // 析构方法:在进行垃圾回收时调用
        // 语法:~ + 类名相同的函数名 + () + {}
        ~Person()
        {
            Console.WriteLine("调用析构方法");
        }
    }
}
  1. 手动触发垃圾回收
cs 复制代码
using System;

namespace ClassAndObject
{
    // 创建类
    class Person
    {
        // 创建类的成员变量
        public string name; // public(公共的):内部和外部都能访问
        protected char sex; // protected(保护的):内部和子类可以访问,外部不能访问
        private int age;    // private(私有的):只有内部才能访问,外部和子类都不能访问

        // 无参构造方法
        public Person()
        {
            Console.WriteLine("调用无参构造方法");
        }

        // 有参构造方法
        public Person(string name)
        {
            this.name = name;
            Console.WriteLine(this.name + "调用有参构造方法");
        }

        // 特殊构造方法
        public Person(string name, char sex, int age) : this(name)
        {
            Console.WriteLine(this.name + "调用特殊构造方法");
            this.sex = sex;
            this.age = age;
        }

        // 析构方法:在进行垃圾回收时调用
        // 语法:~ + 类名相同的函数名 + () + {}
        ~Person()
        {
            Console.WriteLine("调用析构方法");
        }

        // 手动触发垃圾回收
        public void startGC()
        {
            Console.WriteLine("调用垃圾回收方法");
            GC.Collect();
        }
    }
}

六、成员方法

cs 复制代码
using System;

namespace ClassAndObject
{
    // 创建类
    class Person
    {
        // 创建类的成员变量
        public string name; // public(公共的):内部和外部都能访问
        protected char sex; // protected(保护的):内部和子类可以访问,外部不能访问
        private int age;    // private(私有的):只有内部才能访问,外部和子类都不能访问

        // 无参构造方法
        public Person()
        {
            Console.WriteLine("调用无参构造方法");
        }

        // 有参构造方法
        public Person(string name)
        {
            this.name = name;
            Console.WriteLine(this.name + "调用有参构造方法");
        }

        // 特殊构造方法
        public Person(string name, char sex, int age) : this(name)
        {
            Console.WriteLine(this.name + "调用特殊构造方法");
            this.sex = sex;
            this.age = age;
        }

        // 析构方法:在进行垃圾回收时调用
        // 语法:~ + 类名相同的函数名 + () + {}
        ~Person()
        {
            Console.WriteLine("调用析构方法");
        }

        // 手动触发垃圾回收
        public void startGC()
        {
            Console.WriteLine("调用垃圾回收方法");
            GC.Collect();
        }

        // 成员方法
        // 上面的startGC()也是成员方法
        public void speak()
        {
            Console.WriteLine(this.name + "说:我调用了speak方法");
        }
    }
}

七、使用对象

cs 复制代码
using System;

namespace ClassAndObject
{
    class Program
    {
        static void Main(string[] args)
        {
            // 使用无参构造方法创建对象
            Person p1 = new Person();
            // 使用有参构造方法创建对象
            Person p2 = new Person("张三", '男', 18);
            // 调用垃圾回收方法
            p1.startGC();
            // 调用speak()成员方法
            p2.speak();
        }
    }

    // 创建类
    class Person
    {
        // 创建类的成员变量
        public string name; // public(公共的):内部和外部都能访问
        protected char sex; // protected(保护的):内部和子类可以访问,外部不能访问
        private int age;    // private(私有的):只有内部才能访问,外部和子类都不能访问

        // 无参构造方法
        public Person()
        {
            Console.WriteLine("调用无参构造方法");
        }

        // 有参构造方法
        public Person(string name)
        {
            this.name = name;
            Console.WriteLine(this.name + "调用有参构造方法");
        }

        // 特殊构造方法
        public Person(string name, char sex, int age) : this(name)
        {
            Console.WriteLine(this.name + "调用特殊构造方法");
            this.sex = sex;
            this.age = age;
        }

        // 析构方法:在进行垃圾回收时调用
        // 语法:~ + 类名相同的函数名 + () + {}
        ~Person()
        {
            Console.WriteLine("调用析构方法");
        }

        // 手动触发垃圾回收
        public void startGC()
        {
            Console.WriteLine("调用垃圾回收方法");
            GC.Collect();
        }

        // 成员方法
        // 上面的startGC()也是成员方法
        public void speak()
        {
            Console.WriteLine(this.name + "说:我调用了speak方法");
        }
    }
}

运行结果如下:

今天的学习就到这里了。感谢阅读。

再见!

相关推荐
小大宇1 小时前
python flask框架 SSE流式返回、跨域、报错
开发语言·python·flask
柒星栈1 小时前
PHP 源码怎么加密防破解?三套方案实战指南
开发语言·php·android studio
勉灬之2 小时前
Next.js + Prisma 跨平台部署踩坑记
开发语言·javascript·ecmascript
这是个栗子2 小时前
前端开发中的常用工具函数(九)
开发语言·javascript·ecmascript·at
蓝创工坊Blue Foundry2 小时前
图片文字提取到 Excel:批量任务如何先定义要交付的字段
运维·服务器·开发语言·数据库·自动化·ocr·excel
会飞的小新2 小时前
C 标准库之 <fenv.h> 详解与深度解析
c语言·开发语言·microsoft
雪的季节3 小时前
dir (obj) 与dir()
开发语言
暗暗别做白日梦3 小时前
Pulsar 消息同步机制
c#·linq
大不点wow3 小时前
Java序列化与反序列化:让对象走出JVM
java·开发语言·jvm
阿里嘎多学长3 小时前
2026-07-22 GitHub 热点项目精选
开发语言·程序员·github·代码托管