C#入门教程

目录

1.if分支语句

2.面向对象

3.static简单说明


1.if分支语句

我们的这个C#里面的if语句以及这个if-else语句和C语言里面没有区别,就是打这个输出上面的方式不一样,c#里面使用的是这个console.writeline这个指令,其他的这个判断逻辑都是一样的,因此我在这里就不再赘述了;

2.面向对象

下面的这个是我们面向过程的一个实例,这个是我们之前使用的一个方式,尤其是最开始学习这个C语言的时候,就是面向过程的:

基于这个例子,我们上面的这个实际上就是定义了两个变量,一个变量就是我们的大侠,一个变量就是我们的女侠,他们各自都有自己的一些属性,但是这个属性的数值是不一样的;

例如这个名字,技能伤害,身高,基础的伤害等等,我们每一次想要输出的时候,都要这个变量的名字不一样,例如我们的大侠的名字,我们定义的是name1,这个时候我们的女侠的名字就是name2,就是两个名字不可以一样,而且我们需要把这个变量定义两次;

我们首先去要去实例化一个对象,我们的这个大侠就是一个类,有男大侠和女大侠,这个时候我们的男大侠就是一个对象,女大侠也是一个对象,两个对象都有这个名字,性别,伤害,攻击力等属性,这个时候,我们就可以把这些公共的属性放到一个类里面去;

然后我们使用我们创建的对象,再去定义对应的属性,hr就是女大侠,hr.mingzi 就是女大侠的名字,这个就是面向对象的思想,把相同的属性封装成为一个类,把这些属性定义到这个类里面去,然后实例化对象,每一个对象都有这个类里面的属性特征,进而进行各自的定义;
这样的好处就是我们的这个变量不要定义很多,因为我们把这个变量放到类里面去了,我们可以直接调用,需要注意的就是我们的这个类里面的属性需要设置为共有的public,不然实例化之后我们没有办法访问这个属性;

这个new就是进行定位类的实例化操作,其中这个hero()里面的这个就类似于C++里面的构造函数,可以这样理解,这样我们就有了自己的内存空间;

3.static简单说明

static修饰的内容我们可以简单的划分为两个部分:一个就是修饰这个变量,一个就是修饰我们的函数;

先来聊一聊这个static修饰变量吧,这个变量就是我们定义在class这个类里面的,准确的讲应该叫做属性,我们需要把这个类实例化为对象之后才可以进行访问,这个实例化之后才会为这个属性变量开辟内存空间,但是对于这个static修饰的变量而言,相当于程序执行之后就会直接开辟空间,无论我们是否进行类的实例化,对于这个都是没有影响的;

static修饰的函数也是的,因为函数被这个static修饰了之后,我们的空间就被开辟了出来,这个时候函数里面只能去调用这个static变量,因为其他的普通的变量需要实例化之后才有自己的空间,我们这个时候没有办法直接对他们进行调用;

什么时候使用static呢---我们的每一个对象都要使用这个变量属性,这个时候每一个对象的这个属性都是不一样的,这样的话我们的这个属性就不可以使用static了,如果是没有什么关系的变量,我们就可以加上static,这个时候我们就可以直接访问;

相关推荐
认真的酒窝25 分钟前
自己动手开发编译器(十一)语义分析
java·开发语言
wbs_scy2 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9172 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞2 小时前
C#与闭包
开发语言·c#
端庄的战斗机3 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme3 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
C语言小火车5 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼5 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
ALex_zry6 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++
她说..7 小时前
Java 默认值设置方式
java·开发语言·后端·springboot