面向对象、字段、属性、方法、构造函数

1、属性

为了保护字段,属性的本质是两个方法,一个是get(),另一个是set();

2.静态和非静态的区别

①在非静态类中,可以有实例成员,也可以有静态成员。

②在调用实例成员的时候,需要使用对象名.实例成员。

在调用静态成员的时候,需要使用类名.静态成员名。

总结:静态成员需要用类名去调用,实例成员需要用对象名去调用。

静态函数中,只能访问静态成员。

实例函数中,可以访问静态成员和实例成员。

静态类中不能用实例成员。

使用:1)如果想把类当成“工具类”去使用,可以考虑将类写成静态的

3、面向对象练习

复制代码
static void Main(string[] args)
        {
            Student student = new Student();
            student.Name = "test";
            student.Age = 22;
            student.English = "99";
            student.PrintChengJi();
        }

 public class Student
    {
        private string _name;
        public string Name { get => _name; set => _name = value; }

        private int _age;
        public int Age { get => _age; set => _age = value; }

        private string _english;
        public string English { get => _english; set => _english = value; }

        public void PrintChengJi()
        {
            Console.WriteLine("你的姓名是:{0},年龄是:{1},英语成绩:{2}",this.Name,this.Age,this.English);
        }

    }
复制代码

4、构造函数

构造方法用来创建对象,并且可以在构造函数中对对象进项初始化。

构造函数可以重载,也就是有多个参数不同的构造函数。 

this()关键字

复制代码
 public Student(string name, int age, string english)
        {
            this.Name = name;
            this.Age = age;
            this.English = english;

        }


        public Student(string name) : this(name, 0, "0")
        {

        }
复制代码

 

5、析构函数

当程序结束是析构函数才执行,作用就是帮助我们释放资源。

系统GC垃圾回收机,可以自动帮我们回收资源。

~Student()
        {
            Console.WriteLine("我是析构函数");
        }

 

posted @   makaay986  阅读(74)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示