.Net学习 第2季04 C#面向对象 里氏转换 is/as操作 随机数 protected
2014-12-05 15:37
351 查看
.Net 视频学习第2季 C#面向对象
面向对象 里氏转换 随机数 protected
里氏转换:子类对象可以赋值给父类对象;如果父类中装的是子类对象,可以将此父类对象强制转换成子类对象。
子类对象可以调用父类成员,但父类对象永远只能调用自己的成员。
is或者as均表示类型转换,is返回true/false,as返回转换后对象/null
Person p = new Student();表示子类对象可以赋值给父类对象,注意,该对象还是父类对象,并不能调用子类独有成员。
Student ss = (Student)p;表示可以将此父类对象强制转换成子类对象,如果父类对象装的是子类对象。
随机数生成:
注意生成的随机数a的取值是1到6。
private 仅可在当前类中被访问
protected 可在当前类以及该类的子类中被访问
面向对象 里氏转换 随机数 protected
里氏转换:子类对象可以赋值给父类对象;如果父类中装的是子类对象,可以将此父类对象强制转换成子类对象。
子类对象可以调用父类成员,但父类对象永远只能调用自己的成员。
is或者as均表示类型转换,is返回true/false,as返回转换后对象/null
class Person { public string Name {get;set;} } class Student:Person { } class Teacher:Person { } Person p = new Student(); Student ss = (Student)p; Student s = new Student(); if (s is Teacher) {Console.WriteLine("convert success");} else {Console.WriteLine("convert fail");} Teacher t = s as Teacher; if(t == null) {Console.WriteLine("convert fail");}
Person p = new Student();表示子类对象可以赋值给父类对象,注意,该对象还是父类对象,并不能调用子类独有成员。
Student ss = (Student)p;表示可以将此父类对象强制转换成子类对象,如果父类对象装的是子类对象。
随机数生成:
Random r = new Random(); int a = r.Next(1,7);
注意生成的随机数a的取值是1到6。
private 仅可在当前类中被访问
protected 可在当前类以及该类的子类中被访问
相关文章推荐
- .Net学习 第2季03 C#面向对象 继承
- C#语言学习--基础部分(十二) --堆,栈,装箱,拆箱,安全数据类型转换:as, is
- .Net学习笔记----2015-07-21(C#基础复习05,里氏转换)
- .Net学习 第2季07 C#面向对象 多态
- .Net学习 第2季01 C#面向对象 基础
- .Net学习 第2季06 C#面向对象 Path类 File类 FileStream类 StreamReader/StreamWriter类
- 编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]
- 20151024_004_C#基础知识(C#中的访问修饰符,继承,new关键字,里氏转换,is 和 as,多态,序列化与反序列化)
- .Net学习 第2季08 C#面向对象 访问修饰符 序列化/反序列化 部分类 密封类
- .Net学习 第2季05 C#面向对象 ArrayList Hashtable List<> Dictionary<>
- 20151024_004_C#基础知识(C#中的访问修饰符,继承,new关键字,里氏转换,is 和 as,多态,序列化与反序列化)
- 【C#基础知识点】——里氏转换-as/is
- C#学习笔记 is 和 as
- [C#] as 和 is 运算符以及安全的类型强制转换
- C#类型转换、is、as、单问号、双问号解密
- 天轰穿C# -vs2010 - 04面向对象的编程之继承中的类型转换【原创】
- 初步学习“C#中is,as用法”
- C#类型转换、is、as、单问号、双问号解密
- C# 类型转换is和as 以及性能陷阱
- C#中数据类型的安全转换(is,as)