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


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("我是析构函数");
        }

相关