上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 52 下一页

2012年6月27日

C#索引器-索引器和属性的区别

摘要: 属性和索引器的差别:一个对象只有一个属性值,所以要存放多个值必须实例化多个对象(通常情况下,实例化一个数组的对象,接着实例化的对象赋给这个数组)。一个对象对应的索引是一个数组,并且可以存放多个数值或字符串,所以只需要实例化一个对象就可以存放以及访问多个存储内容。using System;using System.Collections.Generic;namespace aaa{public class arrClass{ //通过构造方法以及属性进行赋值 private string name;//定义一个字段 public string Name{ //定义一个属性,通过属性来修改name 阅读全文

posted @ 2012-06-27 09:48 流星落 阅读(283) 评论(0) 推荐(0) 编辑

C#索引器-索引器与数组属性的比较

摘要: 索引器(Indexer)索引器允许类或结构的实例按照与数据相同的方式进行索引。索引器类似于属性,不同之处在于它们的访问器采用参数。所以索引器也被称为有参属性。示例一:using System ;class ArrClass//没有索引器的类{private readonly string name;public ArrClass(string name){this.name = name;}public string Name{get{return name;}}}class IndexClass//带索引器的类{private string [] name = new string [10] 阅读全文

posted @ 2012-06-27 09:47 流星落 阅读(1152) 评论(0) 推荐(0) 编辑

C#索引器-索引器概述

摘要: 数组中的元素可以通过索引进行检索,如果一个类中有很多对象,怎样简单、快速地查找到需要的对象以及对象的特性呢?索引器就是为了实现这样的功能而设计的。索引器允许类或结构的实例按照与数组相同的方式进行索引。可以简单地把索引器理解为书中的目录,字典中提供的检索的索引。索引器(Indexer)是C#引入的一个新型的类成员,它使得对象可以像数组那样被方便,直观的引用。索引器非常类似于我们前面讲到的属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。索引器可以重载,以数组的形式访问类中的成员,实际上不单单是访问,可以在访问的代码中实现特定的处理。 阅读全文

posted @ 2012-06-27 09:46 流星落 阅读(200) 评论(0) 推荐(0) 编辑

C#索引器-索引器的定义

摘要: 索引器定义类似于属性,但其功能与属性并不相同。索引器提供一种特殊的方法编写get和set访问器。属性可以像访问字段一样访问对象的数据,索引器可以使用户像访问数组一样访问类成员。定义索引器的语法如下:<访问修饰符> 类型名称 this [类型名称 参数名]{ get{//获得属性的代码} set{ //设置属性的代码}}索引器没有像属性和方法那样的名字,关键字this清楚地表达了索引器引用对象的特征。和属性一样,value关键字在set后的语句块里有参数传递意义。和方法一样,索引器有5种存取保护级别new、public、protected、internal、private,和4种继承 阅读全文

posted @ 2012-06-27 09:46 流星落 阅读(1372) 评论(0) 推荐(0) 编辑

C#接口-显式接口和隐式接口的实现

摘要: C#中对于接口的实现方式有隐式接口和显式接口两种:隐式地实现接口成员创建一个接口,IChinese,包含一个成员 Speak;我们创建一个类Speaker,实现接口Chinese//隐藏式实现例子public interface IChinese{ string Speak();}public class Speaker : IChinese{ public string Speak() { return "中文"; }}这个就是隐式实现接口。隐式实现调用方法如下:IChinese s = new Speaker();s.Speak();Speaker s = new Sp 阅读全文

posted @ 2012-06-27 09:45 流星落 阅读(306) 评论(0) 推荐(0) 编辑

C#接口、类和抽象类

摘要: 一个类可以同时继承类和接口,或者抽象类和接口,抽象类和类不能在一个类的继承列表中同时出现。如果子类同时继承类,抽象类和接口,一定要把类或者抽象类写在前面,接口写在后面,类名和接口名之是用“,”隔开,接口没有先后顺序。每一种继承要根据各自的规则去实现。如果希望学生都具有姓名、性别、年龄和学号等属性,当可以直接在计算机专业的学生类中创建,但是,如果还有别的专业的学生,那么都要重新写一遍,不符合代码重用的原则。现在把公用代码提取出来创建一个父类,在父类中赋予这些属性就可以。由于学号只有学生才有,把学号属性放在学生接口中定义更合理,更有利于扩展。using System;public class Pe 阅读全文

posted @ 2012-06-27 09:44 流星落 阅读(240) 评论(0) 推荐(0) 编辑

C#类、接口、虚方法和抽象方法-抽象类与接口的区别与联系

摘要: C#抽象类和接口之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于抽象类和接口的选择显得比较随意。其实,两者之间还是有很大的区别的。首先,以抽象类的方式定义一个公共的抽象类Animal如下:public abstract class Animal { public abstract void Run(); public abstract void Eat(); } 注意:类中默认的范围是private, 一定要显式将抽象的内容显示声明为public然后使用接口的方式定义接口Animal如下:public interface IAnimal{ 阅读全文

posted @ 2012-06-27 09:43 流星落 阅读(301) 评论(0) 推荐(0) 编辑

C#类、接口、虚方法和抽象方法-抽象类和接口的相同点和区别

摘要: 一、抽象类 (1) 抽象方法只作声明,而不包含实现,可以看成是没有实现体的虚方法 (2) 抽象类不能被实例化 (3) 抽象类可以但不是必须有抽象属性和抽象方法,但是一旦有了抽象方法,就一定要把这个类声明为抽象类 (4) 具体派生类必须覆盖基类的抽象方法 (5) 抽象派生类可以覆盖基类的抽象方法,也可以不覆盖。如果不覆盖,则其具体派生类必须覆盖它们。如:using System;public abstract class A //抽象类A { private int num=0; public int Num //抽象类包含属性 { get { return num; } set ... 阅读全文

posted @ 2012-06-27 09:42 流星落 阅读(334) 评论(0) 推荐(0) 编辑

C#类、接口、虚方法和抽象方法-接口与抽象类的区别实例

摘要: 1.抽象类可以有实现(包括构造函数),而接口不可以有任何实现。namespace ConsoleApplication1 { class Program { interface IMyInterface1 { void IMethod1(); void IMethod2(); } abstract class AMyClass1 { public abstract void AMethod1(); public abstract void AMethod2(); public AMyClass1() { } public void AMethod() { Co... 阅读全文

posted @ 2012-06-27 09:41 流星落 阅读(200) 评论(0) 推荐(0) 编辑

C#类、接口、虚方法和抽象方法-抽象类和接口的区别

摘要: 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点: 1、不能实例化; 2、包含未实现的方法声明; 3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则是所有成员(不仅是方法包括其他成员); 另外,接口有如下特性:接口除了可以包含方法之外,还可以包含属性、索引器、事件,而且这些成 阅读全文

posted @ 2012-06-27 09:40 流星落 阅读(500) 评论(0) 推荐(0) 编辑

上一页 1 ··· 33 34 35 36 37 38 39 40 41 ··· 52 下一页

导航