美文网首页
C#学习笔记<二> 类的特点

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

作者: 七面琅琊 | 来源:发表于2017-12-17 23:52 被阅读0次

    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#学习笔记<二> 类的特点

          本文链接:https://www.haomeiwen.com/subject/vjzzixtx.html