Unity_Learning_02_c#_1_26

本文深入讲解C#面向对象编程的基本概念,包括类、对象、字段、属性、构造函数等核心成员,以及继承、静态成员、泛型集合和结构体的使用。探讨了类的封装、继承和多态特性,帮助读者理解面向对象的设计原则。

1 类和对象的概念
类:抽象的概念,创建对象的模板,一组相似事物的统称。
数据成员:名词性
方法成员:动词性
对象:类的具体实例。
2 开发时,通常每个类都在一个独立的C#源文件中。
3 创建类的字段、属性、方法等成员时,对于类私有的成员加上Private。
4 存在歧义的情况时,使用this关键词指明类的成员。
5 创建实例的步骤:声明该类类型的引用变量,实例化该类类型的引用(分配内存并初始化,将类型的引用赋值给变量)。
6 private public 关键词的使用。
7 类成员:字段
8 类成员:属性
命名方式:所有单词首字母大写。
本质:get()和set()两个方法,隐式调用该方法。
作用:代替直接操作字段,保护字段(1只读只写 2读写前进行数据处理、逻辑判断等)。
比喻:字段(老板),属性(助理)。
自动属性:自动创建关联字段。
9 类成员:构造函数
作用:提供创建对象的方式,常用于初始化对象的数据成员。
本质:是一种方法,但无返回,与类名相同,实例化对象时执行。
特性:没有构造函数则编译器默认提供无参数的构造函数,有构造函数则编不提供。
构造函数可以重载,例如重载无参数的构造函数。
若希望该类不在外部创建,可Private 所有构造函数。
构造函数共有的代码,可以设置一个private构造函数,然后用this去调用。
构造函数可以通过:this(parameters)调用重载的构造函数。
10 泛型集合
List<数据类型> 引用名 = new List<数据类型>(parameters)
相较于数组,功能更强
字典集合
Dictionary<key,value> 名 = new Dictionary<key, value>
11 继承 :父类
适用性:共有代码且从属一个概念(例如,子类老师和学生都有名字,则可以继承父类人的名字)
子继承父,可以访问public, protected ,不可以访问父类的private
父不可以访问子
父类型的引用可以指向子类对象(例如,Person person = new Student() ),但只能使用父类成员,相访问子类成员则需类型转换。

12 静态 static
静态成员:属于类,通过类名调用,先于对象存在,所有对象共享一份,常驻于内存。
实例成员:属于对象,通过对象引用调用,实例化对象后才存在,每个对象都存储一份。
13 静态字段 static field
静态构造方法:初始化类的静态数据成员,提到该类时执行一次。
静态方法:不能访问实例成员的数据。
静态类:只有静态成员。
静态类不能被继承,但静态方法和属性可以被继承。
一般工具类做成静态类。
14 结构 struct
类似于 class,最大的特点是:值类型
每个结构提供一个无参数的构造函数,将结构成员设置为默认值,不能重载和屏蔽;
有参数的构造函数必须为所有成员赋值
适用性:用于封装小型相关变量
优点:相对于类,省了引用,可以节省内存,减少寻址次数,即开销小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值