NET-OOP:.属性、方法、值类型和引用类型
2011-05-21 08:18
176 查看
1. 类和对象
……其实一切皆对象,面向对象的类描述了一组相似对象的共同特性,是具有相同特征和共同行为的一组对象的集合
……类和对象的关系,用对象归纳为类,是归纳对象共性的过程;在类的基础上,将状态和行为实体化为对象的过程成为实例化。
2. 类和对象的使用
将类实例化为对象:Article article = new Article();
访问对象的属性或者方法:aa.getTitle();
3. 属性:在C#中,我们通常不会直接访问类中字段,而是通过get和set访问器来访问,这种实现方式我们成为属性
/// <summary>
/// 点击次数
/// </summary>
private int clicks;
public int Clicks
{
get { return clicks; }
set { clicks = value; }
}
属性的访问类型分为一下三种:
1),只读属性:只包含个get访问器
2),只些属性:只包含个set访问器
3),读写属性:包含个get和set访问器
4. 枚举
a)
枚举是一组描述的名称,结构是把一系列相关变量组织成一个单位的实体,我们用enum 关键字定义一个枚举,它表示一组有限的值,对可能的值进行约束。
b) 枚举的基类型为整型,枚举不能有方法。
c) 枚举可以使代码更易于维护,有助于确保给变量指定合法的期望的值。
d) 枚举使代码清晰,允许描述性的名称表示数据,使用时直观方便。
5. 结构
a) 结构的定义:
访问修饰符 struct 结构名
{
定义结构成员
}
b) 结构的构成和类很相似,在使用结构时,可以不用new,但是必须为结构的成员赋初值,直接用结构的名字访问成员就可以了
c) 结构中也有属性,方法。
l C#中的值类型与引用类型
d) 值类型源自System.ValueType家族,每个值类型的对象都有一个独立的内存区域保存自己的值。
e) 引用类型源于System.Object家族,它的存储是对值的引用,两个不同的变量指向同一个内存中的物理地址
l 装箱和拆箱
n 装箱:我们把.NET中的值类型转换成引用类型称为装箱
n 拆箱:把引用类型转换成值类型的过程称为拆箱
结构与类的区别:
……其实一切皆对象,面向对象的类描述了一组相似对象的共同特性,是具有相同特征和共同行为的一组对象的集合
……类和对象的关系,用对象归纳为类,是归纳对象共性的过程;在类的基础上,将状态和行为实体化为对象的过程成为实例化。
2. 类和对象的使用
将类实例化为对象:Article article = new Article();
访问对象的属性或者方法:aa.getTitle();
3. 属性:在C#中,我们通常不会直接访问类中字段,而是通过get和set访问器来访问,这种实现方式我们成为属性
/// <summary>
/// 点击次数
/// </summary>
private int clicks;
public int Clicks
{
get { return clicks; }
set { clicks = value; }
}
属性的访问类型分为一下三种:
1),只读属性:只包含个get访问器
2),只些属性:只包含个set访问器
3),读写属性:包含个get和set访问器
4. 枚举
a)
枚举是一组描述的名称,结构是把一系列相关变量组织成一个单位的实体,我们用enum 关键字定义一个枚举,它表示一组有限的值,对可能的值进行约束。
b) 枚举的基类型为整型,枚举不能有方法。
c) 枚举可以使代码更易于维护,有助于确保给变量指定合法的期望的值。
d) 枚举使代码清晰,允许描述性的名称表示数据,使用时直观方便。
5. 结构
a) 结构的定义:
访问修饰符 struct 结构名
{
定义结构成员
}
b) 结构的构成和类很相似,在使用结构时,可以不用new,但是必须为结构的成员赋初值,直接用结构的名字访问成员就可以了
c) 结构中也有属性,方法。
l C#中的值类型与引用类型
d) 值类型源自System.ValueType家族,每个值类型的对象都有一个独立的内存区域保存自己的值。
e) 引用类型源于System.Object家族,它的存储是对值的引用,两个不同的变量指向同一个内存中的物理地址
l 装箱和拆箱
n 装箱:我们把.NET中的值类型转换成引用类型称为装箱
n 拆箱:把引用类型转换成值类型的过程称为拆箱
结构与类的区别:
| 类 | 结构 |
不同点 | 引用类型 | 值类型 |
可以被继承 | 不能被继承 | |
可以有默认构造函数 | 不可以有默认构造函数 | |
可以添加无参构造函数 | 可以添加构造函数,但它们必须带参数 | |
创建对像必须使用New | 创建对像可以不用New | |
相同点 | 都可以包含字段、方法 | |
都可以实现接口 | |
相关文章推荐
- NET-OOP:.属性、方法、值类型和引用类型
- 面向对象(属性,值类型和引用类型,常量,静态成员)
- asp.net报出“非静态字段、方法或属性’System.Web.UI.Page.Response.get‘要求对象引用”错误
- 《JavaScript高级程序设计》读书笔记之一:几个与原始类型等价的引用类型的常用方法和属性
- .net学习之.net和C#关系、运行过程、数据类型、类型转换、值类型和引用类型、数组以及方法参数等
- 值类型引用类型List Remove 方法Remove不掉哪一个项。
- 【JavaScript】基本数据类型与引用数据类型区别(及为什么String、Boolean、Number基本数据类型会有属性和方法?)
- asp.net “非静态字段、方法或属性’System.Web.UI.Page.Response.get‘要求对象引用”
- 《JavaScript高级程序设计》读书笔记之一:几个与原始类型等价的引用类型的常用方法和属性
- 30天C#基础巩固-----值类型/引用类型,泛型,空合并操作符(??),匿名方法
- 值类型\引用类型\抽象方法\虚方法
- .NET面试题解析(01)-值类型与引用类型
- 类库,随机数,属性,值类型和引用类型
- PHP中返回引用类型的方法
- (转码).NET引用类型赋值为null与加速垃圾回收
- string 是值类型,还是引用类型(.net)
- ADO.NET 实体数据模型 异常-“序列化类型为 XX 的对象时检测到循环引用”
- 值类型与引用类型的区别
- javascript使用方括号([])引用对象的属性和方法
- ASP.net获取当前url各种属性(文件名、参数、域名等)的方法