您的位置:首页 > 编程语言 > C#

2012- 04-17 C#基础学习笔记(12)

2012-05-27 07:46 447 查看
2012.4.17C#基础学习笔记
——张伟

 

1.      类是不是可以继承?

Person

Student

Teacher

三个类,因为学生和老师都是任,所有抽象出来一个“人”的类,然后,现在让学生和老师都继承Person,只需在类名后加:(冒号)和Person

例如:class Student :Person

      {

}

其中,在Person 中可以有构造函数,子类Student中也可以有构造函数

既然都能有构造函数,那么是否可以调用一下父类中的构造函数呢?

第一:如果子类继承父类

是否可以自动调用到父类的字段或者说属性?

可以。只需通过一个有参的构造函数再用一个关键字base()把参数传过去,这样,子类就能用到父类的构造函数,然后间接的给父类的字段或属性赋值了。

 

2.      里氏转换

is 的语法: 布尔类型 变量 = 子类对象 is 父类

如果布尔类型的变量为true则表示转换成功

如果布尔类型的变量为false则表示转换失败

例如:

Person p = newPerson();

Student s = newStudent();

bool b = s isPerson;

if(b)

{ Console.WriteLine(“转换成功,我成父亲啦”);}

else

{Console.WriteLine(“转换失败”);}

Console.ReadKey();

 

3.      is 的用法: 对象或者是实例 is 类名

可以返回一个bool值,表示是否可以转化

判断父类是否能转化为子类的时候经常使用

父类要想转化成子类,需强制转换,和之前的int 和double 之间的转换类似

 

4.      as 语法: 类型名 变量名 = 对象或实例 as 类型名;

虽然类可以进行转换,有隐式转换和显示转换(强制转换),但有的时候可能会出问题

可以通过is 或者as 进行判断转换,这样就不会报错了。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# class