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(全部参数值)
析构函数:~类名(){}
作用:当程序结束的时候,析构函数才执行 -----------》释放资源
- 学习笔记9:C#基础(面向对象和字符串的方法)
- 【C#】面向对象基础—属性、方法、结构
- c#基础-oop(面向对象理解)
- C#基础总结之八面向对象知识点总结-继承与多态-接口
- c#面向对象基础5
- c# 面向对象基础技能
- C#面向对象基础--抽象类
- C#(面向对象基础数组VS集合VS范型)下-2
- C#面向对象基础(五) 农场中的动物
- C# 面向对象设计基础 二(上)
- C#面向对象基础(二)
- c#面向对象基础5
- .Net学习笔记6-C#面向对象基础3 继承多态
- C#学习笔记五面向对象基础
- C#基础知识(八)——面向对象
- 黑马程序员 C#面向对象基础知识点
- C#基础系列(8)-- 第三部分 面向对象相关 -- 类与结构(1)
- c#面向对象基础。
- C# 面向对象基础
- c#面向对象基础