c#面向对象基础3

静态与非静态的区别

(1)在非静态类中既可以有实例成员,也可以有静态成员(static修饰)。

(2)在调用静态成员的时候要使用:对象名.实例成员。

(3)在调用静态成员的时候要使用:类名.静态成员。

总结:静态成员使用类名去调用,非静态成员使用对象名去调用。静态函数中只能访问静态成员,不允许访问实例成员   (静静),实例函数中既可以使用静态成员,也可以是实例成员。

静态类中只允许有静态成员,不允许出现实例成员。

使用:什么时候使用静态,什么时候使用非静态

    (1)把类当成“工具类”去使用,考虑写成静态类  例如:console类

     (2)静态类在整个项目中资源共享---------占内存,,,,只有程序全部结束后,静态类才会释放资源。

非静态创建对象并赋值(逐一赋值)会造成代码冗余,所以产生构造函数来赋值

 构造函数:

作用:初始化对象(给对象的每个属性依次赋值),构造函数是一个特殊的方法。

     (1)构造函数没有返回值,没有Void

      (2)构造函数名称必须和类名一样。

语法:

public 类名(参数)

{

属性赋值;

}

         创建对象时调用构造函数 关键字new

new关键字做了三件事:

(1)在内存中开辟了一块空间。

(2)在开辟的空间创建对象。

(3)调用对象的构造函数进行初始化对象。

类当中默认有一个无参的构造函数   ,默认的构造函数会被我们新建的构造方法覆盖

无参的构造函数:public 类名()

{

}

有参的构造函数:public 类名(参数)

{

赋值;

}

在创建对象时(new)传参  n=new 类名(实参)

当类中已有重载的构造函数时,需要无参的构造函数需重新写无参构造函数。

this关键字:

作用:(1)表示当前类的对象

         (2)调用本类当中的构造函数(重载中不全参数的构造函数去调用全参的构造函数)

               语法::this()

  例如:public Student(部分参数):this(全部参数值)

  析构函数:~类名(){}

 作用:当程序结束的时候,析构函数才执行     -----------》释放资源

As you wish.
原文地址:https://www.cnblogs.com/wfaceboss/p/5867021.html