10026人加入学习
(18人评价)
C#编程-第二季-面向对象-宇宙最简单2021最新版

制作完成于2021-10月20日 使用VS2019

价格 免费

集合类  列表List

 

List<int>list=new List<int>( ) ;

List<int> list=new List<int>( ) { 321,653,832 };

 

 

[展开全文]

一个命名空间下可以创建多个类的,只是我们习惯上一个类一个文件。

[展开全文]

operator  运算符重载关键字,后面跟要进行重载的运算符

 

 

[展开全文]

 

静态函数只能使用静态数据  不能使用非静态成员

 

如果把类声明为静态的 ,静态类里面只能包含静态成员,静态成员是不能实例化的

(   )

[展开全文]

new    隐藏继承的成员

abstract                                                            使用abstract修饰的类为抽象类,抽象类只能是其他类的基类,不能与sealed,static一起使用。abstract 可以修饰抽象类中的方法或属性,此时,方法或属性不能包含实现,访问权限不能为私有。抽象类不能被实例化。

sealed                                                              使用sealed修饰的类为密封类,灭你各类违法被继承,不能和abstract,static一起使用。当sealed用于方法或者属性时,必须始终与override一起使用

static
使用static修饰的类为静态类,静态类所有成员都必须是静态的,不能与abstract、sealed
一起使用。
static可以修饰方法、字段、属性或事件,始终通过类名而不是实例名称访问静态成员
静态字段只有一个副本。l
静态类不能被实例化。


const
使用const关键字来声明某个常量字段或常量局部变量,必须在声明常量时赋初值。
不能与static一起使用,常量默认是static的,常量字段只有一个副本。


readonly
使用readonly关键字来声明只读字段。
只读字段可以在声明或构造函数中初始化,每个类或结构的实例都有一个独立的副本。
可以与static一起使用,声明静态只读字段。
静态只读字段可以在声明或静态构造函数中初始化,静态常量字段只有一个副本。


virtual
virtual关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。默认情况下,方法是非虚拟的。不能重写非虚方法。

 

override
要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用override修饰符。
重写的成员必须是virtual、abstract或override的。

[展开全文]

 

子类不能比父类访问权限更高

 

当前项目想使用别的项目中的类需要:                  1,添加别的项目的引用                                      2,引入命名空间                                              3,把类设置为public

[展开全文]

调用子类的构造函数,会先调用父类的构造函数,

 

 

 

[展开全文]

抽象类

C#允许把类和函数声明为 abstract抽象类          抽象类不能实例化,抽象类可以包含普通函数和抽象函数,(什么是抽象函数)抽象函数就是只有函数定义没有函数体。抽象函数本身也是虚拟的Virtual( 只有函数定义,没有函数体实现)

 

类是一个模板,抽象类就是一个不完整的模板,不能使用部位完整的模板去构造对象

 

( 为什么把某个类定义成抽象类呢 )                    因为我们知道这个类是不能构造对象的,我们把这个类我们把这个类声明称抽象类,其他人使用抽象类创建对象的时候语法就会不通过  为了防止别人误操作,所以我们就把他声明成抽象的

[展开全文]

隐藏方法加关键字new ,就会隐藏父类方法

 

当我们通过父类声明的对象去调用这个方法的时候如果是虚方法的话依然会调用重写后的方法,如果是隐藏方法的话他就会调用父类里面的方法

[展开全文]

虚方法  virtual  把需要重写的方法返回值前加vierual         

重写  override

 

隐藏方法

[展开全文]

this  用来访问当前成员

base 用来访问父类成员

[展开全文]

所有的数据类型都分为两类,值类型和引用类型

 

 

[展开全文]

程序的内存区域:  栈  静态存储区

 

栈  空间比较小,但是读取速度快

堆  空间比较大,但是读取速度快

 

栈的特性:后进先出

数据只能从站的顶端插入和删除                          把数据放入栈顶成为入栈pust )                    从栈顶删除数据成为出栈pop

 

堆  是一块内存区域,与栈不同,堆里面的内存能够一任意顺序存入和移除

[展开全文]

int age ;          int 类型

var  age:       匿名类型

 

var  匿名类型关键字

[展开全文]

构造函数


我们构造对象的时候,对象的初始化过程是自动完成的,但是在初始化对象的过程中有的
时候需要做一些额外的工作,例如需要初始化对象存储的数据,构造函数就是用于初始化
数据的函数。

声明基本的构造函数的语法就是声明一个和所在类同名的方法,但是该方法没有返回类型。


public class Myclass {
public Myclass ( ) {
这个构造函数的函数体

   }

}

当我们New对象的时候,当我们实例化对象的时候,当我们创建对象的时候就会调用构造函数。

因为构造函数就是用来构造对象的

 

构造函数作用 ( 构造函数一般用来初始化数据 )

 

 

[展开全文]

为了让编程更加清晰,把程序中的功能进行模块化划分,每个模块提供特定的功能,而且
每个模块都是孤立的,这种模块化编程提供了非常大的多样性,大大增加了重用代码的机
会。
面向对象编程也叫做OOP编程
简单来说面向对象编程就是结构化编程,对程序中的变量结构划分,让编程更清晰。

[展开全文]