构造函数
作用:帮助我们方便的快捷的初始化对象(给对象的每个属性依次的赋值)
构造函数是一个特殊的方法
1、构造函数没有返回值,连void也不能写
2、构造函数的名称必须和类名一样
创建对象的时候会执行构造函数
构造函数必须是public,不然new关键字调用不出来
构造函数是可以有重载的
***
类当中默认会有一个默认的、无参的构造函数,当你写一个新的构造函数之后,不管是有参的还是无参的,原来的那个默认的构造函数都会被替换掉
构造的函数:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 面向对象 { public class Student { //类里面可以写 字段、属性、方法、构造函数 public Student(string name, int age, char gender, int chinese, int math, int english)//创建对象的时候会执行构造函数 { this.Name = name; this.Age = age; this.Gender = gender; this.Chinese = chinese; this.Math = math; this.English = english; } private string _name; public string Name { get { return _name; } set { _name = value; } } private int _age; public int Age { get { return _age; } set { _age = value; } } private char _gender; public char Gender { get { return _gender; } set { _gender = value; } } private int _chinese; public int Chinese { get { return _chinese; } set { _chinese = value; } } private int _math; public int Math { get { return _math; } set { _math = value; } } private int _english; public int English { get { return _english; } set { _english = value; } } public void ShowName() { Console.WriteLine("我的名字是{0},我今年{1}岁了,是个{2}的", this.Name, this.Age, this.Gender); } public void ShowScore() { Console.WriteLine("语文是{0}分,数学是{1}分,英语是{2}分", this.Chinese, this.Math, this.English); } } }
调用:
using System; namespace 面向对象 { class Program { static void Main(string[] args) { Student zsStudent = new Student("张三",18,'男',120,120,120); zsStudent.ShowName(); zsStudent.ShowScore(); Student lsSudennt = new Student("李四", 23, '女', 100, 100, 100); lsSudennt.ShowName(); lsSudennt.ShowScore(); Console.ReadKey(); } } }
调试运行后是: