一.关于类 与对象
//类 是一个抽象的模板 包含特征或者行为
//对象是类具象的事物 具象化类的 特征和行为
//如何创建类的对象 使用new关键字 new 开辟内存空间为对应类的对象 (内存保存的时实例字段和实例方法和实例属性)
People zhangsan = new People();
//张三的实例字段赋值
zhangsan._id = 1;
//张三的实例字段取值
Console.WriteLine(zhangsan._id);
zhangsan._name = "张三";
Console.WriteLine(zhangsan._name);
//私有的实例字段 无法在类的外部调用
受保护的实例字段 无法在没有继承关系的类中调用
private protected 无法在没有继承关系的类中调用
静态字段在外部调用使用类名
//私有的实例字段 无法在类的外部调用
//zhangsan._age = 18;
//受保护的实例字段 无法在没有继承关系的类中调用
// zhangsan._date = 10;
// private protected 无法在没有继承关系的类中调用
// zhangsan._time = DateTime.Now;
zhangsan._price = 100;
//静态字段在外部调用使用类名
People._height = 100;
People lisi =new People();
//默认值为0
Console.WriteLine(lisi._id);
//
Console.WriteLine(lisi._id1);
Console.WriteLine(People._age1);
//const 用类名调用
//const 用类名调用
Console.WriteLine(People.PI);
//无法在创建之外赋值
// People.PI = 11.1;
//readOnly无法在创建之外赋值
Console.WriteLine(zhangsan.PI1);
//zhangsan.PI1 = 111.111;
Console.WriteLine(People.PI2);
Console.ReadKey();
//定义一个类
//1.类要定义在命名空间中或者可以定义在类中嵌套
//2.格式:访问修饰符 class 类名 {类的作用域 包含的内容;类的成员}
//访问修饰符:默认是internal 可以使用public 在类嵌套可以使用private
//类名:
大驼峰命名方式 其他参考 标识符用法
//类的成员: 成员变量 (字段) 成员函数 (属性和方法)
//特征 (属性和字段)
//1.字段
//(1)在类中字段也可以叫全局变量
//(2)字段是定义在类中方法之外的 局部变量是定义在方法内部的
// (3) 字段的格式 访问修饰符 数据类型 字段名
// (4) 字段是由默认值的 值类型默认值为 0 引用类型默认值为null 局部变量没有默认值
//(5)在一个类中 不能重复定义字段
// (6) 字段包含 静态字段和非静态字段(实例字段)
// (7)实例字段 随着new对象的创建而创建
// (8)静态字段 在类加载的时候创建 且创建一次
//字段的访问修饰符 学过的修饰符字段都能使用
-
只读字段
- 实例只读字段
- 静态只读字段
- const
readonly
//const 只能在初始化时 赋值 const 包含staitc
//readonly 可以在初始化时和构造函数中赋值 readonly 不包含staitc
public class People
{
public int _id;
internal string _name;
private float _age;
protected long _date;
protected internal double _price;
private protected DateTime _time; //非静态字段 (实例字段)
public static int _height; //静态字段
public int _id1 = 100;
public static float _age1 = 200f;
//只读字段 const 常量关键字
//只读字段
public const double PI =3.1415926;
public readonly double PI1 = 3.1415926;
public static readonly double PI2 = 3.1415926;
//const 只能在初始化时 赋值 const 包含staitc
//readonly 可以在初始化时和构造函数中赋值 readonly 不包含staitc
//行为 (方法)
}