Class1.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Class1 { private string _name; private int _age; /* * 定义构造方法: * 1.构造方法没有返回值类型 * 2.构造方法名和类相同 * 3.构造方法的类型通常为public */ public Class1(string name) { Name = name; } // _name 接口, 实例化形式赋值 public string Name { get { return _name; } set { _name = value; } } // _age接口,初始化形式赋值 public int Age { get { return _age; } set { _age = value; } } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Class1 myname = new Class1("namejr"); myname.Age = 12; Console.WriteLine("我的名字:{0}, 年龄:{1}", myname.Name, myname.Age); } } }
构造方法的另一种传参形式(相对来说比较简洁):
Class1.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Class1 { private string name; public string Name { get { return name; } set { name = value; } } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { // 该方法属于无参构造方法, 括号可以不写 Class1 myname = new Class1(){ Name = "namejr" }; } } }
注:1.构造方法也可以重载,但是如果使用有参构造,那么默认无参构造则会被取代(不存在)。2.如果构造函数继承父类构造函数,那么子类必须带有可以满足父类参数的参数
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Dog dog1 = new Dog("jack"); } public class Aminal { public Aminal(string name) { Console.WriteLine("Aminal: " + name); } } public class Dog : Aminal { // 如果父类的构造函数带有参数时,那么继承的子类必须也要带参 public Dog(string name):base(name) { Console.WriteLine("Dog: " + name); } } } }