【C#】构造方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LT_Future/article/details/81902419

背景

一般方法实例化类时,存在的问题有:

  • 赋值繁琐,重复书写对象名
  • 对用户不能随意改动的只读类型的属性,在实例化之后就不能对对象进行初始化

类的构造方法

为解决上面的问题,创建构造方法

  • 构造方法用来创建对象,对构造方法中对对象进行初始化
  • 构造方法用来创建对象的特殊方法,方法和类名一样,没有返回值,连void都不用
  • 构造方法可以有参数,实例化对象的时候传递参数即可
  • 如果自己不创建构造方法,则类中有一个默认的无参构造方法
  • 如果自己创建了构造方法,则不再有默认的构造方法
  • 构造方法可以重载

    代码举例

public class Student
{
    public Student (string name,char gender,int age,int chinese,int math,int english)
    {
        this._name=name;
        this._gender=gender;
        this._age=age;
        this._chinese=chinese;
        this._math=math;
        this._english=english;
    }
}

代码实现

一般方法,实例化类的代码

class Program
{
    static void Main(string[] args)
    {
        //张三
        Student zsStu = new Student();
        zsStu.Name = "张三";
        zsStu.Age = 18;
        zsStu.Gender = '男';
        zsStu.Chinese = 98;
        zsStu.Math = 95;
        zsStu.English = 80;
        //小兰
        Student xlStu = new Student();
        xlStu.Name = "小兰";
        xlStu.Age = 18;
        xlStu.Gender = '女';
        xlStu.Chinese = 95;
        xlStu.Math = 85;
        xlStu.English = 60;
    }
}

创建构造方法后,实例化类代码

class Program
{
    static void Main(string[] args)
    {
        Student zsStu=new Student("张三",'男',18,98,95,80)
        Student xlStu=new Student("小兰",'女',18,95,85,60)
        Console.ReadKey();
    }
}

实例化和初始化

实例化是针对类来说的,就是下面这一行代码

Student zsStu = new Student();

而初始化是针对对象的,也就是在实例化的基础上,对zsStu的各个属性赋初始值

Student zsStu = new Student();
zsStu.Name = "张三";
zsStu.Age = 18;
zsStu.Gender = '男';
zsStu.Chinese = 98;
zsStu.Math = 95;
zsStu.English = 80;

比如,实例化Person类就是知道这里有个人,而初始化一个人就是我们知道了这个人的具体信息。

猜你喜欢

转载自blog.csdn.net/LT_Future/article/details/81902419
今日推荐