OOP_多态(C#)
生活随笔
收集整理的這篇文章主要介紹了
OOP_多态(C#)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OOP_多態(C#)
一個評選優秀教師和學生的程序,其類結構如圖1所示。當輸入一系列教師或學生的記錄后,將優秀學生及教師的姓名列出。
code:
namespace DuoTaiGoodStuTeach {public class Base{public int num;protected string name;public Base(string name){ this.name = name; }public virtual void getnum(){ }public virtual int ifgood(){ return 0; }public void pritname(){ Console.Write(this.name); }}public class Student : Base{public int numS; /下面調用基類的構造函數public Student(string nameS): base(nameS){ }public override void getnum(){numS=Convert.ToInt32(Console.ReadLine());//return base.getnum();}public override int ifgood(){if (numS >70) return 1;else return 0;}}public class Teacher : Base{public int numT;public Teacher(string nameT): base(nameT){ }public override void getnum(){numT = Convert.ToInt32(Console.ReadLine());}public override int ifgood(){if (numT > 3) return 1;else return 0;}}class Program{static void Main(string[] args){string continu = "y"; string[] goodS = new string[66]; int i = 0; int flag = 0; int flag2 = 0; //int k = 0;while (continu == "y"){ Console.WriteLine("Input teacher(t) or student(s):");string choice= Console.ReadLine();switch (choice){case "s":Console.Write("姓名:");string nameS = Console.ReadLine();Student baseS = new Student(nameS);Console.Write("成績:");flag+=1;//記錄輸入(姓名成績)的學生個數baseS.getnum(); //int numS =Convert.ToInt32(Console.ReadLine());while (baseS.ifgood() == 1){ goodS[i] = nameS;i += 1;break;}Console.Write("continue(y/n)?");if (Console.ReadLine() == continu){ continue; }else{// continu = "n";//Console.Write("優秀者的姓名:");//for (int j = 0; j < flag; j++)//{// Console.Write(goodS[j]+" ");//}break;}case "t": Console.Write("姓名:");string nameT = Console.ReadLine();Teacher baseT = new Teacher(nameT);Console.Write("每年發表論文數:");flag2+=1;//記錄輸入(姓名成績)的老師個數baseT.getnum();while (baseT.ifgood()==1){goodS[i] = nameT; i += 1; //老師和學生全存在goodS[]中break;}Console.Write("continue(y/n)?");if (Console.ReadLine() == continu){ continue; }else{break;}default:break;}continu = "n";Console.Write("優秀者的姓名:");for (int j = 0; j < i;j++)//flag+flag2; j++){Console.Write(goodS[j] + " ");}}}} }總結
以上是生活随笔為你收集整理的OOP_多态(C#)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人生第一次技术群面
- 下一篇: docxtpl使用手册