c#基础加强2

面向对象的思维
        7.1面向过程到面向对象的转变,其实是由执行者到指挥者的转变
7.2面向对象不是淘汰面向过程,而是基于面向过程的
7.3面向对象的特点:封装、继承、多态
7.4面向对象的好处:灵活性,方便维护及管理。


8类与对象
        8.1类是对一类事物的统称,是抽象的,是不能直接拿来使用的
8.2对象是具体的,看的见摸得着的,可以直接拿来使用的
8.3类是模板,对象是根据这个模板创建出来的,这个类里有什么特性或者功能,这个类的对象也具有这样
的功能,少不得也多不得
8.4同一个类的多个对象之间没有任何关系,唯一的关系就是他们是根据同一个类模板创建出来的
9.创建类的对象
        9.1使用Class关键字定义类:将类的特性定义成成员字段,将类的功能定义为方法
9.2使用new 关键字创建类的对象:类是一种自定义的数据类型
                              9.21.类是引用类型,new 关键字做的4件事:
      1.开辟合适大小的空间2 创建对象 3调用构造方法 4返回该空间的引用地址


10访问修饰符
10.1类的成员:private(默认) 只能在该类的内部来访问 
      public 在任意地方都可以访问
      protected 在本类和本类的子类中访问
      internal在当前程序集中访问
10.2类的访问修饰符:internal(默认)在当前程序集中访问
public 在任意位置可以访问


11属性
        11.1属性是为了保护对象成员字段,也可以说属性是对字段封装
属性的本质是一个Get方法和一个set方法,当我们为这个属性赋值的时候,会调用这个属性的set块代码
赋值的数据通过values关键字可以拿到,当我们为这个属性取值的时候会调用属性的get块代码
属性的数据类型不一定要和他所封装的字段的数据类型一致(value=flase?男:女)
只读 只写属性
自动属性:当不需要为字段在取值和赋值的时候做逻辑验证,就可以写成一个自动属性,c#编译器会自动生成一个成员字段


12构造函数
        12.1语法:访问修饰符一般情况下是public,没有返回值(连void都不用写),方法名与类名一致
12.2构造函数在创建这个类的对象的时候被自动调用,通过new关键字调用,在类名后的括号里面为构造函数传递参数
12.3构造函数可以带参数以及重载
12.4构造函数不能被程序员手动调用,但是在构造函数中可以调用普通的方法
12.5构造函数之间可以通过this关键字调用
12.6this关键字1代表当前对象,2调用本类的其他的构造函数
12.7 隐式构造函数


13NULL  
13.1只有引用类型的变量的值才可以为null值
13.2null值代表这个引用类型的变量没有指向堆空间中的任何对象,如果去调用这个变量的成员则会抛出空指针异常




14const与readonly
14.1 const:1常量的值必须在声明的时候就赋值
   2常量的值一旦声明其值就不能改变
   3C#编译器在编译的时候声明常量的那句话不见了,在使用常量的地方用常量的值代替了,所以常量的值不能改变
   4常量是编译时的,所以需要在编译的时候就要确定常量的值
14.2 readonly:1只能用于修饰成员字段
    2.其值只能在构造函数中更改
    3.是运行时的,所以其值不需要在编译的时候确定


15枚举
15.1枚举是用来限定取值范围的
15.2使用enum关键字定义枚举,将枚举成员定位在其中用逗号分隔
15.3枚举是值类型
15.4每一个枚举值都默认有一个int类型的数与其对应的整型值,也可以将整型值强制转换为其对应的枚举值
15.5字符串转换为枚举值,枚举值转换为字符串

16使用面向对象思维解决问题
16.1名词提炼法(人开门)
16.2分析整个业务流程出现了哪些名词,就将这些名词定位为类,然后分析每个类中有哪些属性、方法


17结构
17.1使用struct关键字定义一个结构
17.2在结构中可以定义字段(但是不能给字段赋初始值),也可以定义属性
17.3可以定义构造函数,但是无参数的构造函数不能定义,因为无论怎样隐式的构造函数都存在
17.4在构造函数中,必须要为结构的每一个字段赋值,为属性赋值不算,因为属性不一定是给字段赋值
17.5结构是值类型
17.6声明结构最想的时候,可以不使用new关键字,但是这个结构对象的字段是没有初始值的,所以在使用
之前必须为结构对象的字段赋值
17.7声明结构对象的时候,如果使用了new 关键字,那么这个结构对象的字段有值了,因为调用了构造函数,
而构造函数中要为每个字段赋值
17.8当我们需要表示一个轻量级的对象的时候,我们就可以定位结构,提高程序的运行效率
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值