C#知识点提炼期末复习专用

时间:2021-04-22 23:55:26

根据内部消息称:有三类题型:

 程序阅读题:2题

 简答题:2题 (主要是对概念的考查)

 编程题:暂定2-3题

复习要点:

.net framework

通用语言开发环境、.NET基础类库、.NET开发语言、visual studio.NET 集成开发环境

c#的特点

1. 语法简介

2. 彻底的面向对象

3. 与Web应用紧密结合

4. 强大的安全机制

5. 完善的错误、异常处理机制

6. 灵活的版本处理技术

7. 兼容性

8. (老师加的)全方位的跨平台支持

ASP.NET Core

1. 跨平台 2. 开源

值类型和引用类型的区别

值类型:该类型的数据长度固定,存放于栈内

引用类型:该类型的数据长度可变,存放于堆内

类的修饰符

1. abstract 抽象类,不能创建该类的实例,只能作为基类

2. internal 老师说,在同一程序内部访问而非指某一个命名空间内部,其它命名空间用using来使用

3. new 用于声明嵌套的类

4. private 用于声明私有嵌套类,只能在定义它的类中访问这个类

5. protected 用于声明保护型嵌套类,只能在定义它的类以及该类的子类中访问这个类

6. public 该类可以被任何其它类访问

7. sealed 该类不能被继承

 

类成员修饰符有四类

public 公有成员

Private 私有成员

Protected 保护成员

Internal 内部成员

构造函数、析构函数

构造函数与类名相同,开头public,无返回值,主要对类的实例初始化,实例类时自动执行

析构函数名比析构函数多加了一个符号 ~,与构造函数区别在于,该函数在对象销毁时执行

继承、多态

继承本质是代码重用(具体懒得写)

多态就是将子类赋值给父类,可以在父类中通过调用抽象方法来实现子类的具体功能

 

ASP.NET   page实例的生命周期

书上找不到,网上找了也乱七八糟看不懂,

如果有人知道麻烦明天考试之前联系我嘿嘿C#知识点提炼期末复习专用

方法的重载 与 区分

重载指的是允许存在多个同名参数,而这些函数的参数呢,是不一样的,可以是类型不一样可以是个数不一样,然后再调用这个方法时,编译器可以按照输入的参数去调用适当的方法

装箱和拆箱。重载。

说简单点就是:把一个具体的子类对象赋值给了父类对象就可以理解为发生了装箱操作,将父类对象强转为具体的子类对象就是拆箱操作

里式转换法则:父类中包含的是子类对象,则可以强转成文子类对象

秀操作专用知识点C#知识点提炼期末复习专用

c#面向对象的思想。

面向对象的思想很简单,就是对象咯(似乎是废话)

面向对象是一种模块化的、以对象为基础的设计思想,现在被广泛应用于软件设计领域。

基本单元就是对象!对象!对象!

对象就是封装起来的代码块,功能模块?应该是的

本篇文章就是它的思想吧,太扯了跳过。。。

关键字 class 的使用和概念

定义类时需要用到的关键字

类是引用类型在堆上分配地址

关键字struct的使用和概念

定义结构体是需要用到的关键字

结构体是值类型,在堆栈上分配地址(据网上所说堆栈就是栈,只是换了个抽象的名字,没具体了解)

抽象类和抽象方法

抽象方法:只包含了方法定义,但没有具体实现的方法,需要其子类或者子类的子类来具体实现。

抽象类:含有一个或多个抽象方法的类称为抽象类。抽象类不能被实例化,这是因为它包含了没有具体实现的方法。

1. 使用abstract关键字来定义抽象类和方法,使用格式如下

public abstract class SB //定义了抽象类SB

{

public abstract void DSB(); //定义了抽象方法DSB

}

2. 子类继承抽象父类后,可以使用override关键字覆盖父类中的抽象方法,并做具体的实现,格式如下:

。。。。没有格式,把上面的abstract换成override就ojbk了

接口和类

就是定义一组数据结构,通过这组数据结构可以调用组件对象的功能。反正和抽象类差不多,可以看成是类的模板

接口的特点、定义和使用

定义格式:

public interface SB//关键字interface

{

Int DSB();//接口已规定是public,声明时不需要访问级别修饰

}

子类可以继承多个接口,实现接口中的方法不需要使用关键字“override”

“接口也可以实现多态,这和抽象类一样 ”书上一句很无语的话。。。

使用的时候就是子类继承啦。。。

抽象类和接口 的区别?

1. 抽象类除了拥有抽象成员以外,还可以拥有非抽象成员;而接口所有成员都是抽象的;

2. 抽象成员可以是私有的,而接口一般都是公开的(不太清楚这里的“一般”,那么“不一般”又是什么呢?);

3. 接口中不能含有构造函数、析构函数、静态成员、和常量;

4. C#只支持单继承,一个子类只能继承一个父类。而一个子类却能继承多个接口

Using 关键字两种用法

一种是引用命名空间,另一种是。。。老师课堂上的忘了,但网上查了,如下:

定义一个范围,在范围结束时处理对象。

场景:

当在某个代码段中使用了类的实例,而希望无论因为什么原因,只要离开了这个代码段就自动调用这个类实例的Dispose。

要达到这样的目的,用try...catch来捕捉异常也是可以的,但用using也很方便。

using (Class1 cls1 = new Class1(), cls2 = new Class1())

{

// the code using cls1, cls2

} // call the Dispose on cls1 and cls2

网上说还有一种功能给命名空间起个“外号”。。。

关键字new

C#不允许在安全代码中使用指针,因此要处理对中的数据就需要使用引用类型,使用new关键字实例化引用数据类型的对象,并指向堆中的对象数据。

内置的引用类型有两种分别是System.Object和System.String

C#中数组也被看作一个带有方法和属性的对象,所以定义数组时,也需要用到new

多态的特性及意义!

多态是面向对象的重要特性,简单点说:“一个接口,多种实现”,就是同一种事物表现出的多种形态

对不同类的对象发出相同的消息将会有不同的行为,就是同一个处理手段可以用来处理多种不同的情况

没有继承就没有多态!

1、提高了代码的维护性(继承保证)

2、提高了代码的扩展性(由多态保证)

全是网上查的,这算是特性和意义吧。。。

Namespace关键字

简单的说就是定义命名空间用的关键字,往复杂了说呢,说了也不懂,跳过C#知识点提炼期末复习专用

流是.NET操作文件的基本类。对文件的输入输出操作都要用到流。流分为输入流和输出流。

懒得写了,课本165页。。。

书本重点例题:p32   p82p83  p89-91  p97 p99 p117  p113(改写后的代码) p175