***S2 C##面向对象 学习总结***

S2 C##学习总结

第一章:初识.NET框架

(1)CLR公共语言运行时 FCL框架类库 MSIL微软中间语言

CLS公共语言规范 CTS通用类型系统 JIT即时编译器

.NET框架的概念、组成

(2)回顾封装的概念和使用,回顾面向对象的概念和关系。

(3) 熟悉.NET框架类库中的常用类库及命名空间

例如:

using System.IO;

Using System.Windows.Forms;

Using System.Collections.Generic;

第二章:深入C#数据类型

(1)掌握C#基本数据类型

例如:

byte short int long float double char bool

(2)掌握值类型的概念、值类型数据在内存中的存储方式(了解),值类型数据类型有哪些。

例如:

值类型:基本数据类型、枚举enum、结构struct

引用类型:class类,string字符串,接口Interface,数组array,集合list

(3) 掌握引用类型的概念、引用数据类型在内存中的存储方式(了解),引用数据类型有哪些。

例如:

值类型数据在内存中都会单独分配存储空间,对一个值类型数据的修改不会影响另一个值类型数据。

引用数据类型在建立引用关系后,在内存中共用同一块存储空间。

(指向同一个内存地址),牵一发动全身。

(4) 区分值类型和引用类型

(5) 理解装箱和拆箱的概念

(6) 理解方法参数传递方式两种情况:值方式传递和引用方式ref传递的区别。

使用值方式(不含ref)传递值类型数据时,不会保留参数更新后的值。

使用值方式(不含ref)传递引用类型数据时,会保留参数更新后的值

使用饮用方式(ref)传递值类型或引用类型数据时,都会保留参数更新后的值

第三章:使用集合组织数据

(1) 集合的概念及优势

1ArrayList集合的特征及使用

添加add() 删除remove()/removeAt()/遍历for/foreach

(2)HashTable集合的特征及使用

添加add(K,V) 删除remove(key)/遍历foreach遍历keys或values

(3)非泛型集合ArrayList和HastTable对比

arrayList有序,可重复,可通过索引访问元素

hashTable无序,可重复,只能通过key访问value,存储的数据都是键值对。

(4)泛型集合List的理解和使用

泛型集合在定义时限定了集合中的数据类型,保证数据类型安全,提高性能。获取集合元素不需要装箱拆箱。

(5)泛型集合Dictionary的理解和使用

用法类似于hashTable,也是通过key访问value

但是不用装箱拆箱

(6)了解泛型类的概念

(7)泛型集合和非泛型集合的区别

泛型集合定义时就限定了集合中的数据类型,费泛型集合中存储的数据默认都是object需要装箱拆箱。

第四章:深入类的方法

1.理解构造方法的概念、特征以及使用场合

构造函数特点:

方法名和类名相同

没有返回值,不能加void

一般是用于初始化对象

2.理解方法重载的概念、特征以及使用场合

方法重载特点:

同一个类中,方法名称相同,参数不同(参数类型不同或参数数量不同)的方法就是方法重载。

3.理解对象交互的概念和交互过程

第五章:项目案例——体检套餐管理系统

集合、构造函数、窗体基本控件的使用、泛型集合的使用、对集合数据进行增删改查

第六章:初识继承和多态

1.继承的概念和优点

继承就是通过建立类和类之间的继承关系,从而轻松实现代码复用

2.继承的特性

单根性:一个类只能有一个直接父类

传递性:A:B,B:C,则A:C

可替代性:子类可以替代父类。

3.子类和父类的联系以及方法调用

子类可以调用父类public\protected属性和方法以及构造函数

4.base关键字的使用

base关键字代表当前类的父类对象的引用,使用base可以调用父类的公开和受保护的属性方法和构造函数。

5.protected访问修饰符的适用范围

使用protected修饰符修饰的受保护成员只能在当前类和当前类的 子类中使用。

6.public\private\protected区别

使用Public修饰的成员可以在其他类使用

使用private修饰的成员只能在当前类使用

使用Protected修饰的成员只能在当前类和当前类的子类中使用

7.继承关系下构造函数的调用和执行过程

如果在子类构造函数中没有使用base调用父类的构造函数,也没有使用this调用子类本类的构造函数,默认先调用父类的无参构造函数。如果使用base指定调用父类的某一个带参构造函数,则不再调用父类无参构造函数。在多级继承关系中,可以向更高一级的父类应用以上两条规则。

8.多态的概念

多态指的是多种形态,指同一个方法作用于不同对象时,产生不同的执行结果。

9.多态和继承的联系

没有继承就没有多态,继承和多态息息相关。

10.使用虚方法实现多态

例如:

访问修饰符 virtual 返回值类型 方法名(参数列表)

{

方法体

}

11.实现多态的步骤

父类中定义虚方法

例如:
访问修饰符 virtual 返回值类型 方法名(参数列表)

{

方法体

}

子类通过override重写父类虚方法

例如:

访问修饰符 override 返回值类型 方法名(参数列表)

{

方法体

}

注意:重写方法和被重写方法的返回值、方法名、参数列表必须一致。

12.方法重载和方法重写的区别

方法重载发生在同一个类中,可以看成是多态的一种表现形式。

方法重写发生在建立了继承关系的子父类中。

第七章:深入理解多态

1.子类可以替代父类,并且能够出现在父类能够出现的任何位置。但是父类对象是不能替代子类对象的。

2.依据里氏替换原则进行合理的程序设计

3.抽象类的概念

例如:

访问修饰符 abstract class 类名

{

}

4.抽象方法的概念

例如:

访问修饰符 abstract 返回值类型 方法名(参数列表);

注意:抽象方法只有定义,没有方法体。

5.抽象类和抽象方法的特征

抽象类不能实例化,不能使密封的或静态的。

抽象方法只有定义,没有方法体,抽象方法必须被其所在抽象类的非抽象子类重写,否则该子类还是一个抽象类。

抽象类中可以有零个到多个抽象方法,也可以有其他方法。

但是含有抽象方法的类必须定义为抽象类。

6.抽象方法和虚方法的区别

抽象方法 虚方法

Abstract virtual

必须被子类override 可以被子类override

没有方法体 必须有方法体

只能出现在抽象类中 可以出现在除密封类以外的任意其他类中

7.使用抽象方法实现多态

父类定义为抽象类,定义抽象方法,子类继承抽象类并实现抽象方法

第八章:可扩展标记语言XML

1.XML语言的特点和作用

特点:

XML语言使用节点组织数据。存储数据,区分大小写。节点必须成对出现。

HTML语言不区分大小写,不是所有标签必须成对出现。

2.XML语言和HTML语言的区别

3.对XML文件进行读取

例如:

XmlDocument document=new XmlDocument();

document.Load(“XMLPath”);

XmlNode/XmlElement node=document.DocumentElement;

Foreach(XmlNode n in node.ChildNode)

4.根据OOP思想熟练编写XML文件

5.TreeView动态增删节点

This.tv.Nodes.Add();

This.tv.selectedNode.remove();

6、将xml文件读取并展示在控件上

第九章:文件操作IO

1.操作文件的步骤

引入命名空间 using System.PP;

创建文件流

创建阅读器或写入器

执行读写操作

关闭阅读器或写入器

关闭文件流

2.文件流FileStream的使用

例如:

FileStream fs=new FileStream(“path”,FileMode.mode);

3.读写器StreamWriter/StreamReader的使用

例如:

StreamWriter sw=new StreamWriter(fs);

StreamReader sr=new StreamReader(fs,Encoding.Default);

4.处理中文乱码Encoding静态类

常用取值

UTF-8/Default/Unicode/GB2312

5.文件模式FileMode枚举

Create创建或改写

CreateNew创建新文件,已存在报异常

Open 打开已存在文件,不存在报异常

OpenOrCreate 存在就打开,不存在就创建

Append追加内容

6.静态类和非静态类的区别

静态类使用static修饰,只能包含静态成员,不能实例化,不能包含实例构造函数,使用类名调用静态成员

非静态类可以包含静态成员,也可以包含实例成员,可以包含实例构造函数,使用实例对象调用非静态成员

7.静态成员和实例成员的概念

例如:

静态方法不能直接调用实例方法

实例方法可以调用静态方法

静态成员不能直接访问实例成员

实例成员可以通过类名访问静态成员

8.静态类File操作文件

9.可实例化类FileInfo操作文件

10.静态类Directory类操作目录

11.可实例化类DirectoryInfo类操作目录

你可能感兴趣的:(***S2 C##面向对象 学习总结***)