c#基础之类

   类是面向对象编程的3个主要特征(封装,继承,多态)的基础。

   封装的目的是隐藏细节,组合数据和方法。比如一个可以共用的方法。在面向对象编程中,使类的内部的工作机制不被暴露,减少了调用者对数据进行不恰当修改的概率。

   继承是指基类派生一个子类。

   多态性意味着一个方法或类型可以具有多种形式的实现,比如在基类中的一个Play()方法,在多态性的帮助下,不同的类型会有自己独特的实现方法。

1.1类的定义和实例化

  类定义了对象在实例化的时候看起来像什么样子,对象是类的实例。new的作用只是实例化对象,而不是分配内存。内存分配和回收是“”运行时”的细节。

1.2this关键字

  在c#中,为了显示指出当前访问的字段或者方法在包容类中的实例成员,可以使用this关键字。

  有时候,需要使用this传递当前正在执行的对象的引用。

1.3访问修饰符

public,private,protected,internal,protected internal。 

1.4属性

  属性就相当于是一种带有set和get方法的一个方法,而它与类中的字段的赋值和取值又是息息相关的。

属性是一种用于访问对象或类的特性的成员。 
属性有访问器,这些访问器指定在他们的值被读取或者写入时所需要执行的语句。 
我们知道的访问器有get访问器和set访问器两种

  提供属性验证,比如:

 class Program
    { 
        static void Main(string[] args)
        {
            Ce c = new Ce();

            c.Code = "23";

            Console.WriteLine("真实" + c.Code);

             Console.ReadKey();


        }
    }
    public class Ce { 
        public string name;
        /// <summary>
        /// 设置一个不能被外界直接访问的字段code,但是可以其属性进行设置。
        /// </summary>
        private string code;
        /// <summary>
        /// 必须设置一个单独的方法来给code字段设置属性验证。
        /// 这是code字段的属性方法。
        /// </summary>
        public string Code
        {
            get
            {
                return code;
            }
            set
            {
                if (value == null)
                {
                    //Console.Write("1-"+value);
                }
                else
                {
                   // Console.Write("2-"+value);
                    code = value;
                   
                }

            }
        }
    }

1.5对象初始化器

 集合初始化器:

 class Program
    {
       
        static void Main(string[] args)
        {
            List<Ce> list = new List<Ce>() { 
            new Ce("1"),
            new Ce("2")
            
            };

          

        //    Console.WriteLine("真实" + );

             Console.ReadKey();


        }
    }
    public class Ce { 
        public string name;
        public Ce(string name)
        {
            this.name = name;

        }
        
    }

高级主题:终结器

 构造器定义了在类的实例化过程中发生的事情。为了定义在对象销毁过程中发生的事情,c#提供了终结器。