OOP_多态(C#)
生活随笔
收集整理的這篇文章主要介紹了
OOP_多态(C#)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
OOP_多態(tài)(C#)
一個(gè)評(píng)選優(yōu)秀教師和學(xué)生的程序,其類結(jié)構(gòu)如圖1所示。當(dāng)輸入一系列教師或?qū)W生的記錄后,將優(yōu)秀學(xué)生及教師的姓名列出。
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; /下面調(diào)用基類的構(gòu)造函數(shù)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("成績(jī):");flag+=1;//記錄輸入(姓名成績(jī))的學(xué)生個(gè)數(shù)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("優(yōu)秀者的姓名:");//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("每年發(fā)表論文數(shù):");flag2+=1;//記錄輸入(姓名成績(jī))的老師個(gè)數(shù)baseT.getnum();while (baseT.ifgood()==1){goodS[i] = nameT; i += 1; //老師和學(xué)生全存在goodS[]中break;}Console.Write("continue(y/n)?");if (Console.ReadLine() == continu){ continue; }else{break;}default:break;}continu = "n";Console.Write("優(yōu)秀者的姓名:");for (int j = 0; j < i;j++)//flag+flag2; j++){Console.Write(goodS[j] + " ");}}}} }總結(jié)
以上是生活随笔為你收集整理的OOP_多态(C#)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人生第一次技术群面
- 下一篇: 16.网络《果壳中的c#》