C#学习笔记<二> 类的特点

m_<:继续记录类的学习过程。

1

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p1 = new Person(10);   //调用构造函数,一般Person p1 = new Person(),是类中默认的无参数构造函数
            Person p2;
            p2 = p1;
            p1.Age++;
            Console.WriteLine(p2.Age);   //输出结果11
            IncAge(p2);
            Console.WriteLine(p2.Age);   //结果12
            Console.ReadKey();
        }

            static void IncAge(Person p)
            {
              p.Age++;
            }
    }

    class Person
    {
        public int Age {set; get;}
        public Person(int age)   //构造函数
        {
            this.Age = age;
        }
    }
}

输出结果为11。普通的对象是引用类型,赋值的时候传递引用,即p1引用了某个内存,p2=p1时,引用了同一个内存,所以p1时,该内存值变,p2也就变了。

2 构造函数

构造函数在创建对象的同时,对对象进行初始化。其函数名与类名相同,没有返回值,不用void。构造函数可以有参数,可以重载。如果不指定构造函数,则类默认一个无参构造函数。

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p1 = new Person("KenGee");
            Person p2 = new Person("KenGee", 20);
            Console.WriteLine("名字:{0}.",p1.Name);
            Console.WriteLine("名字:{0},年龄:{1}.", p2.Name, p2.Age);
            Console.ReadKey();
        }
    }

    class Person
    {
        public string Name {get; set;}
        public int Age {get; set;}
        public Person(string name)   //构造函数重载1
        {
            this.Name = name;
        }
        public Person(string name, int age)   //重载2
        {
            this.Name = name;
            this.Age = age;
        }
    }
}

你可能感兴趣的:(C#学习笔记<二> 类的特点)