编程基础_里氏转换的练习
来源:互联网 发布:怎么用网址搜淘宝店铺 编辑:程序博客网 时间:2024/05/22 03:35
要求:
用C#写一个程序,实现下图功能
实现:
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace _03_里氏转换练习{ class Program { static void Main(string[] args) { //创建一个对象 通过一个循环 去调用他们各自打招呼的方法 //对于一个父类对象,既可以赋值父类实例,也可以赋值子类实例 //体现里氏转换第一条 子类可以赋值给父类 Person[] pers = new Person[10]; Random r = new Random(); //通过产生的随机数,来给数组进行赋值 for (int i = 0; i < pers.Length; i++) { int rNumber = r.Next(1, 7); switch (rNumber) { case 1: pers[i]=new Student(); //体现里氏转换第二条 如果父类中装的是子类对象,那么可以将父类强制转换为子类 ((Student)pers[i]).StudentSayHi(); break; case 2: pers[i]=new Teacher(); ((Teacher)pers[i]).TeacherSayHi(); break; case 3: pers[i]=new ShuaiGuo(); ((ShuaiGuo)pers[i]).ShuaiGuoSayHi(); break; case 4: pers[i]=new MeiNv(); ((MeiNv)pers[i]).MeinvSayHi(); break; case 5: pers[i]=new YeShou(); ((YeShou)pers[i]).YeShouSayHi(); break; case 6: pers[i]=new Person(); pers[i].PersonSayHi(); break; } } Console.ReadKey(); } } public class Person { public void PersonSayHi() { Console.WriteLine("我是人类"); } } public class Student : Person { public void StudentSayHi() { Console.WriteLine("我是学生"); } } public class Teacher : Person { public void TeacherSayHi() { Console.WriteLine("我是老师"); } } public class MeiNv : Person { public void MeinvSayHi() { Console.WriteLine("我是美女"); } } public class ShuaiGuo : Person { public void ShuaiGuoSayHi() { Console.WriteLine("我是帅锅"); } } public class YeShou : Person { public void YeShouSayHi() { Console.WriteLine("我是野兽"); } }}
0 0
- 编程基础_里氏转换的练习
- C#里氏转换以及练习
- 黑马程序员_里氏转换
- 黑马程序员_里氏转换
- C#基础-037 里氏转换
- 编程基础_ArrayList的练习
- 里氏转换
- 里氏转换
- 【C#基础知识点】——里氏转换-as/is
- C#基础(15)——里氏转换、protected
- 实践编程自我检错_蓝桥杯_ 基础练习 十六进制转八进制
- 基础练习 时间转换
- 基础练习 时间转换
- 基础练习 时间转换
- 基础练习 时间转换
- 基础练习 时间转换
- 基础练习 时间转换
- 基础练习 时间转换
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- ruby如何查找一个方法属于哪个类
- Openvswitch GRE实现Kubernetes网络模型
- Android下正确获取屏幕触摸点下的图片像素值
- vmvare 不能使用的解决办法
- 编程基础_里氏转换的练习
- 在同一个页面使用多个不同的jQuery版本,让它们并存而不冲突
- AngularJS --app.js 学习笔记(一)
- python读取文件操作
- Win7 下VMware中如何让CentOS上网?
- 微信公众帐号开发教程第11篇-符号表情的发送(上)
- An internal error occurred during: "Add Deployment"完美解决办法
- iOS应用检查更新的最优方法附代码
- spring配置定时器的时间设置