3.面向对象
结构不具备面向对象的特征
一切皆对象
对象的属性和方法
属性:特征
方法:行为
将具有相同属性和相同方法的对象进行进一步封装,抽象出类
类
定义:
public class dog
{
/*
* 字段 存储数据
* 属性 保护字段,对字段的赋值,取值进行限定
* 方法 描述对象的行为
*
*
*/
public string _name;//字段
public static void xw()//方法
{
Console.WriteLine("吃喝拉撒睡");
}
}
兴建类:再项目新建项新建类文件 class.cs
写好一个类,需要创建类的对象,类的实例化 使用关键字new
this:代表当前整个类的对象
类是不占内层,对象占内存
属性的本质
两个方法 : get 和 set
对字段的取值和赋值进行保护
public string Name
{
//输出属性时,执行get方法
get { return _name; }
//给属性赋值时,调用set方法
set { _name = value; }
}
field 字段
method 方法
properties 属性
访问修饰符
public 公有的
private 私有的 只能在这个类内部访问 默认是private
既有get又有set 称为可读可写属性
只有get 只读
只有set 只写
ctrl r+e 快捷封装字段
静态和非静态
static
1.在非静态类中,既可有非静态成员(实例成员),又可以有静态成员
2.在使用实例成员时,需要使用对象名.实例成员
3.调用静态成员时,类名.静态成员
静态成员必须使用类名调用,实例成员使用对象调用
静态函数中只能访问静态成员,实例方法都可以使用
static类
静态类中只允许静态成员
静态类无法实例化
1.如果把类当工具类,考虑将类写成静态类
2.静态类在整个项目中资源共享
只有在全部程序结束,静态类才是否资源
释放资源 GC Garbage Collection 垃圾回收器