一、面向对象的三大特点
1.继承
- 作用:把子类的公共属性集合起来,便于共同管理。
- 方法:把子类的共同的特性提取出来设置为父类。
- 特性:传递性→传递机制,单根性→一个类只能继承一个类,不能有多个父类。
2.封装
- 意义:保护代码,防止代码被无意中破坏。
- 作用:将复杂的逻辑经过包装之后给别人使用,不需要了解里面是如何实现的,只负责传入所需参数即可。
- 方法:将数据和行为相结合,通过行为约束代码修改数据的程度,增强数据的安全性。
- 举例:属性是C#封装实现的最好体现。
private string name = "";
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
Name = "TM1"
3.多态
- 介绍:多态性是指同名的方法在不同环境下反映出不同表现,子类对象可以赋值给父类型的变量。目的:使此方法根据调用类可以产生不同的行为。
- 关键字:virtual、override
二、简述值类型和引用类型
1.值类型
包含了所有简单类型(int float bool char)struct enum
2.引用类型
包含了string object class interface delegate array
3.区别
- 存储:值→栈→存储的是直接的值 引用→堆→内存单元中存放的是堆中存放的地址
- 存取:值→快 引用→慢
- 含义:值→实际数据 引用→指向存储在内存堆中的数据的指针和引用
- 释放:值→栈→自动释放 引用→堆→由 GC 来自动释放
- 来源:值→继承自 System.ValueType 引用→继承自 System.Object