第11天c#基础类 编程思想 面向过程 面向对象 类 局部变量和全局变量 构造函数 this用法 析构函数 垃圾回收机制 结构体和类 命名空间

面向过程

语言:C,如同纪传体(资治通鉴)

面向对象

语言:C# JAVA C++  纪传体(史记)

概念

是一种软件开发思想,是一种程序设计思路,是一种程序结构的表述

为什么要使用面向对象:由于我们日常生活中的语言是均为对向对象表述,所以通过面向对象编程我们可以更好的理解程序,也让程序的编写更接近我们的自然语言。

面向对象的三大特性:封装、继承、多态

封装

将对象所运行时的数据封装到程序对象中,对外只显示接口-----方法、类、属性

继承

多态

概念

什么是类:

我们把具有相同属性和相同方法的对象进行进一步的封装,抽象出来类这个概念。

类就是模版,我们通过这个模版,可以构建相应的对象,确定对象将会拥有的特征(属性)和行为(方法)

类的构成

属性: 如:年龄,身高,体重

方法: 函数。如:吃饭,睡觉

类和对象的关系

对象时类的实例

类是对象的模板

类的实例化

使用new关键字来实例化对象,并调用该类的构造函数

依次对类的成员赋值的过程就叫做类的初始化。

局部变量和全局变量

全局变量

定义在类中方法外的非静态变量就是全局变量,他的作用域范围是整个类

局部变量

定义在方法内或形参的变量是局部变量,他的作用域范围是定义变量的代码块

注意

在局部变量中可以定义一个和全局变量同名且类型相同的变量

内部调用其它属性或方法

可以使用this关键字来获取全局变量

对象的生命周期

从构造开始,到析构结束

构造函数

概念

什么是构造函数,当一个类被实例化为一个对象时,将会调用构造函数完成对象的初始化

声明

第11天c#基础类
编程思想
面向过程
面向对象
类
局部变量和全局变量
构造函数
this用法
析构函数
垃圾回收机制
结构体和类
命名空间

 注意

1.没有返回值,不能写void

2.方法名必须和类名一致

3.不指定时,将有一个默认构造

4.指定时,默认构造将失效

构造函数的重载

第11天c#基础类
编程思想
面向过程
面向对象
类
局部变量和全局变量
构造函数
this用法
析构函数
垃圾回收机制
结构体和类
命名空间

第11天c#基础类
编程思想
面向过程
面向对象
类
局部变量和全局变量
构造函数
this用法
析构函数
垃圾回收机制
结构体和类
命名空间

this用法

1.this指向对象本身

2.this用来指向对象的构造函数

3.Person(“name):this()

4.表示的调用有string类型参数的构造函数的同时,调用无参数构造函数

析构函数

析构函数的定义

第11天c#基础类
编程思想
面向过程
面向对象
类
局部变量和全局变量
构造函数
this用法
析构函数
垃圾回收机制
结构体和类
命名空间

注意

第11天c#基础类
编程思想
面向过程
面向对象
类
局部变量和全局变量
构造函数
this用法
析构函数
垃圾回收机制
结构体和类
命名空间

垃圾回收机制

1.垃圾回收是CLR内存管理机制,他将会帮助我们有效的释放内存,在一定程序上保证了对象的安全性,及使用的便捷性。

触发条件

1.相应的堆达到了阈值,没有内存空间

2.使用代码System.GC.Collect()手动触发

结构体和类

区别

第11天c#基础类
编程思想
面向过程
面向对象
类
局部变量和全局变量
构造函数
this用法
析构函数
垃圾回收机制
结构体和类
命名空间

 总结

第11天c#基础类
编程思想
面向过程
面向对象
类
局部变量和全局变量
构造函数
this用法
析构函数
垃圾回收机制
结构体和类
命名空间

命名空间

定义

第11天c#基础类
编程思想
面向过程
面向对象
类
局部变量和全局变量
构造函数
this用法
析构函数
垃圾回收机制
结构体和类
命名空间

命名空间的目的是给一个项目进行分组

同一个命名空间下类名不能相同

不同命名空间下可以存在同名的类

一般情况下,一个脚本尽量只有一个命名空间和一个类