类与对象(C#总结)

C#属于面对对象的一种语言

对象:看得到的,摸得到,特指,具体的;类实例化成一个对象后占内存
: 抽象出来的一个模板,类不占内存,是对象的类型,从对象中抽象出相同的属性和方法,类具有属性和方法
属性:这个对象的一些特征
属性值:描述这个特征的值
方法:对象的行为动作



如何写类  
【类默认internal】class 类名
{
       成员:变量(字段):默认private,通过属性给变量赋值取值  属性:读和写
                 方法
}

面对对象的3大特性:封装,继承,多态


封装的目的:封起来,装进去,保护变量的值不能随意的访问修改,所以设置访问级别


字段,属性,方法都是成员——都需要类成员的访问,所以都需要设置访问级别


访问级别


internal 当前程序集内可以访问

public 公共成员,完全公开,没有访问限制

private 私有成员,只有在类的内部才可以访问

protected 保护成员,在类内部和继承类中可以访问类中,字段一般都是private私有的,当字段的修饰为public 和 private才能在外部访问到
利用属性可以对赋值取值的过程进行非法控制,做到字段做不到的功能,达到了封装的目的
在属性中定义:get set,保证对字段的读写符合要求,所以,允许外部访问的变量一定要声明为属性
属性分类:只读,只写,读写,属性一般为:大写,无下划线,先声明字段,可以自动生成属性的get set方法

类中有一个很重要的方法:构造方法,使得我们对对象的赋值方便很多!

构造函数解决——只读属性的赋值
不写构造函数,会有默认无参的构造函数
若已经写了有参的构造函数,但还想用无参的构造函数,就自己写一个无参的构造函数
构造函数的重载:多个参数类型不同的构造函数

构造方法解决的问题
1.赋初值时重复的书写对象名。
2.对于只读属性实例化后不能赋值,可以通过构造函数初始化


class:引用类型,分配在内存的堆上,引用传递
struct:值类型,分配在内存的栈上,赋值传递

析构函数
1.只能对类使用析构函数
2.一个类只有一个析构函数
3.无法继承和重载析构函数
4.无法调用析构函数,是被自动调用的
5.没有修饰符,没有参数
6.垃圾回收器

命名空间:类的文件夹
调用方法
1.添加引用——>using 命名空间——>使用
2.添加引用——>命名空间.类=实例化

猜你喜欢

转载自blog.csdn.net/zhaofen_7/article/details/81070107