using System;
using System.Collections.Generic;
using System.Text;

namespace 类_对象
{
class Person
{
//字段
private string name;//外部都可访问

    /*private int age;//本身内可以访问
    protected bool sx;//本身/子类可以访问*/
    
    //手写属性------保护字段
    public string Name
    {               //属性实质---两个方法-对字段进行读取写入
        get
        { return name; }
        set
        { this.name = value ; }
    }
    //手写属性-两个“方法”的特殊封装


    //自动属性------同时创建字段与属性(C#编译器字段提供一个对应的字段)
    public int Ft { get; set; }
    private int Age { get; set; }
    protected bool Sx{get ;set;}


    //构建函数 创建类的方法(类被加载时调用)  可重载        
    public Person () //public确保类在外部可被创建
    {
        Name = "人";
        Ft = 2333;
        Age = 18;
        Sx = true;
    }


    //方法
    public virtual void Say()
    {
        Console.WriteLine("A person" );
    }

    protected  void Ag()
    {
        Console.WriteLine("Ag"+Age  );
    }
    public void Solid()
    {
        Console.WriteLine("Im" + Ft + name);
    }

    private int  Core()
    {
        return 1;

    }

    //析构方法--对应构建方法(创建类),用于GC回收类。
    /*~Person ()
    {

    }*/

}

}