C第4章面向对象编程基础.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.3 方法 2. 方法中的参数传递 1) 传递值类型的参数 形参(parameter):表示定义方法的参数 实参(argument):表示实际用于调用方法的参数 C#中所有的实参默认按值传递,换句话说,被调用方法获得传入的实参值的副本。 值类型参数的格式为: 参数类型 参数名 例1: public int this[int index] // 索引器声明 { // get and set accessors } 例2: public string this[int i] { get{return name[i];} set{name[i]=value;} } 4.4.2 索引器 索引器与属性的比较? 索引器与属性都是类的成员,语法上非常相似。索引器一般用在自定义的集合类中,通过使用索引器来操作集合对象就如同使用数组一样简单;而属性可用于任何自定义类,它增强了类的字段成员的灵活性。 索引器与属性 属性 索引器 属性以名称来标识 索引器以函数签名来标识 属性则不可以被重载。 索引器可以被重载 允许调用方法,如同公共数据成员 允许调用对象上的方法,如同对象是一个数组 可通过简单的名称进行访问 可通过索引器进行访问 可以为静态成员或实例成员 必须为实例成员,不能被声明为static 其get访问器没有参数 其get访问器具有与索引器相同的形参表 其set访问器包含隐式value参数 除了value参数外,其set访问器还具有与索引器相同的形参表 4.4.2 索引器 【例4-12】索引器的声明和用法。 本章相关面试题—选择题 1.以下关于ref和out的描述哪些项是正确的?(多选)? A.使用ref参数,传递到ref参数的参数必须最先初始化。 ? B.使用out参数,传递到out参数的参数必须最先初始化。 ? C.使用ref参数,必须将参数作为ref参数显式传递到方法。 D.使用out参数,必须将参数作为out参数显式传递到方法。? A C D 2.下列关于构造函数的描述正确的是(单选) a)构造函数可以声明返回类型。 b)构造函数不可以用private修饰 c)构造函数必须与类名相同 d)构造函数不能带参数 C 读程序写出运行结果 class Class1? { private string str = Class1.str; private int i = 0; static void StringConvert(string str)? { str = string being converted.; } static void StringConvert(Class1 c)? { c.str = string being converted.; } static void Add(int i)? { i++;?} static void AddWithRef(ref int i)? { i++; } static void Main()? { ???? int i1 = 10; ?????int i2 = 20; ?????string str = str; ?????Class1 c = new Class1(); ?????Add(i1); ???? AddWithRef(ref i2); ?????Add(c.i); ?????StringConvert(str);???????? ???? StringConvert(c); ?????Console.WriteLine(i1); ?????Console.WriteLine(i2); ?????Console.WriteLine(c.i); ???? Console.WriteLine(str); ?????Console.WriteLine(c.str); ?????? }? ??} 运行结果为: 10 21 0 str string being converted. 结构和类的区别: 请详述在.NET中类(class)与结构(struct)的异同(某IT公司) 答: 结构不能被另外一个结构或者类继承,自身也不能被继承。而类可以被其他类继承,其自身也能被继承 结构没有默认的构造函数,也没有析构函数,并且不能有protected修饰符,但可以不使用new进行初始化。而类有默认的构造函数,也有析构函数,还有protected修饰符,并且必须使用n

您可能关注的文档

文档评论(0)

shujukd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档