C#高级编程(三)
2016-02-24 20:51
351 查看
ch 3 对象与类型
类和结构
相同:1.都是创建对象的模板;2.每个对象都包含数据,并提供了处理和访问数据的方法;区别:在内存中的存储方式、访问方式:类存储在堆栈(heap)上的引用类型;结构存储在栈(stack)上的值类型,且结构不支持继承;
类
包含:数据成员(字段、常量、事件)、函数成员(方法、属性、构造函数、终结器(finalizer)、运算符、索引器)方法:
给方法传递参数:引用传递、值传递;(参数传递给方法前任何变量都必须初始化)引用传递:被调用方法得到的就是这个变量,即内存中变量的指针->在方法内部对变量进行任何改变在方法退出后仍旧有效;
值传递:被调用的方法得到的是变量的一个相同的副本->方法退出后对变量的修改会丢失;
说明:在C#中,一般引用类型通过引用传递,值类型通过值传递;引用类型变量只包含对象的引用,作为参数传递时,传递的正是该对象的引用,在方法内对对象的修改会保留下来;值类型变量包含实际数据,传递给方法的是数据本身的副本。(字符串行为特殊,不同于一般的引用类型)
比较:对于复杂类型引用传递效率更高(值传递时,必须的复制大量数据)。
ref:将值类型通过引用传递给方法;
out:简化输入参数的初始化,C#通过Out关键字对变量进行初始化;
命名参数:(一般参数按顺序传递给方法)允许按任意顺序传递,eg:声明:void Func(string str_pa,int int_pa){//....} 调用 :Func(int_Pa1:124,str_Pa2:"MyStringParameter");
可选参数:必须为参数提供默认值,且可选参数必须为方法最后定义的参数
方法重载:方法名相同,但参数个数或者类型不同,与返回值无关,与ref,out无关;
属性(Property)
相关文章推荐
- 如何有效的使用C#读取文件
- 【C#】Color颜色对照表
- C#之构造方法
- C# 结构的特点
- C#-StructLayoutAttribute(结构体布局)
- C#中的IntPtr类型
- C#将一个excel工作表根据指定范围拆分为多个excel文件
- C# DataTable Compute方法的使用
- C#访问openfire服务器之一:服务端的安装、客户端的简介
- C#调用金数据API
- C#访问openfire服务器之三:一次成功的登录
- C#原理
- C# using 三种使用方式
- C#怎么设置子窗体在主窗体中居中显示
- C#进阶系列——WebApi接口测试工具:WebApiTestClient
- C#创建唯一的订单号, 考虑时间因素
- C# 串口通讯
- C# DateTime详解
- c# virtual详解
- 登山-C#-自定义特性