this关键字,抽象类和索引器
来源:互联网 发布:淘宝网卖什么赚钱 编辑:程序博客网 时间:2024/06/16 03:15
一、thi关键字
1、 this只能在类的内部使用,使用他能访问类实例对象内部任何级别(不同类型的访问修饰符)的任何元素(字段,属性,方法等),但静态的类型的成员不能访问,因为静态成员不属于对象的一部分。MSDN里面是这样介绍this关键字的:用来引用类的当前实例。
2、一个类可以实例化成很多对象,每个对象都是不同的实体,因此对this的理解可以转换成对一个类不同实例对象的理解。
class A
{
int i;
{
int i;
public A(int i)
{
this.i = i;
}
public void displayI()
{
Console.WriteLine(this.i);
}
}
class RUN
{
static void Main(string [] args)
{
A a1 = new A(1);
A a2 = new A(2);
a1.displayI();
a2.displayI();
}
通过上面例子可以很好的理解1和2的内容。
{
this.i = i;
}
public void displayI()
{
Console.WriteLine(this.i);
}
}
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
{
static void Main(string [] args)
{
A a1 = new A(1);
A a2 = new A(2);
a1.displayI();
a2.displayI();
}
通过上面例子可以很好的理解1和2的内容。
3、this可以用来区分当方法参数和数据成员同名时的情况。
4、this可以把对象作为参数传递到其他的地方。
二、抽象类
1、在C#中使用关键字 abstract 来定义抽象类和抽象方法,抽象类可以包含抽象方法和访问器。
2、使用abstract 声明一个类,表示该类倾向要作为其它类的父类。 这个类中被abstract标识的方法必须被其派生类实现。
3、一个抽象类可以包含抽象和非抽象方法,当一个类(不是抽象类)继承于抽象类,那么这个派生类必须实现所有的的基类抽象方法。
4、当抽象类的派生类为抽象时,我们可以避免所有或特定的虚方法的实现,这就是抽象类的部分实现。
5、我们不能把关键字abstract 和 sealed (方法static)一起用在C#中,因为一个密封类不能够被抽象。
举一个简单的抽象类例子(黑色加粗)
abstract class Talkable
{
public abstract void talk();
}
class People:Talkable
{
public override void talk()
{
Console.WriteLine("人可以说话");
}
}
通过子类实现抽象类(父类)中说话的方法。
三、索引器展现格式及一个程序
class Student
{
private string name;
private int weight;
public string this[int index]
{
set
{
if(index==0)
{
name=value ;
}
else if(index==1)
{
weight=int.Parse(value);
}
}
get
{
if(index==0)
{
return name;
}
else if(index==1)
{
return weight+"";
}
return null;
}
}
}
class Program :Student
{
public static void Main(string[] args)
{
Student s = new Student();
Student s1 = new Student();
s[0] = "李刚";
s[1] = "60";
int a = int.Parse(s[1]);
s1[0] = "李燕";
s1[1] = "40";
int b = int.Parse(s1[1]);
Console.WriteLine("{0}的体重为{1}\n{2}的体重为{3}", s[0], s[1], s1[0], s1[1]);
if (a > b)
{
Console.WriteLine("{0}比{1}重", s[0], s1[0]);
}
Console.ReadKey();
}
}
0 0
- this关键字,抽象类和索引器
- C#[1]this关键字和索引器
- C#学习笔记--this关键字和索引器
- 构造器和this关键字
- 抽象类和关键字final
- 抽象和类,this,运算符重载
- this关键字和super关键字
- this关键字和static关键字
- this关键字和super关键字
- This关键字和Super关键字
- this关键字和super关键字
- 构造器、重载和this关键字
- Note5: 类和对象 static this关键字
- java类和对象之this关键字
- super关键字 抽象类和接口
- 抽象类和接口及final关键字
- 抽象类与接口和关键字
- final关键字、抽象类和接口
- android jni开发 调用 第三方 动态链接库
- 《深入浅出Windows Phone 8应用开发》之蓝牙编程
- Android应用签名
- 旋转数组的最小数字
- HDU3265 线段树 线扫描
- this关键字,抽象类和索引器
- poj 3661 Running(dp)
- Win8.1 & WP8: 蓝牙Rfcomm应用
- OJ刷题之《牛顿迭代法求根》
- 用Handler进行网络取图片
- cmd命令编译java文件和运行java文件
- 一致性哈希算法及其在分布式系统中的应用
- js右侧底部伸缩广告(文字标题版)
- 为Notepad++配备VS的Visual C++ 编译器