VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • C#教程将学金实例

现在我们来做一下奖学金的实例,代码在最后同学位可以自己参照一下,接下来,我们讲解一下这些代码。 首先,声明一个student类,在类中声明三个变量分别是 protected string name; protected int age; protected decimal score; 其中name用于存储学生的名字,age用于存储学生的年龄,score用于存储奖学金的额度。 在构造函数中,将这个三个变量,分别赋值为传递进来的三个参数name,age和score,请注意,这些参数可以与变量同名或不同名,不过他们代表的不是一个概念。 接下来看声明了三个虚方法,所谓的虚方法,就是一个可以在本地类或子类中可以进行重写的方法(请参照:https://www.xin3721.com/ArticlecSharp/c23016.html),请注意,虚方法定义时,没有什么实际的内容,只是一个框架。

第二步,定义子类 public class goodstudent:student 这是用于定义奖学金的学生类 这是一个student的子类,重定了三个方法即 public override string Name { ...... } public override int Age { ...... } public override decimal Socore { ...... } 同时,大家有没有注意到,这里的子类中的构造函数,多了一个参数gbursary,这是子类与父类最大的不同,而在类里面只是能于给本类属性赋值

          this.bursary =bursary;

最后,其它部分于父类大体相同,接下来就是用主类进行操作 public class MainClass { public static void Main() { student s=new student ("大明",23,32.0m); Console.WriteLine ("\t{0},\t{1},\t {2}",s.Name ,s.Age ,s.Socore ); goodstudent gs=new goodstudent ("小明",32,89.0m,0); Console.WriteLine ("\t{0},\t{1},\t{2},\t{3}",gs.Name,gs.Age ,gs.Socore,gs.bursary ); }

 }

这里用父类student和子类good_student,各自声明一个对像,并且传递参数,最后将其返回值,在命令行输出。

using System;
public class student
 {
     protected string name;
     protected int age;
     protected decimal score;
     public student(string name,int age,decimal score)
     {
         this.name=name;
         this.age=age;
         this.score=score;
     }
     public virtual string Name
     {
         get
         {
            return name;
         }
         set
         {
            name=value;
         }
     }    
     public virtual int Age
     {
         get
         {
             return age;
         }
         set
         {
            age=value;
         }
     }
     public virtual decimal Socore
     {
         get
         {
            return score;
         }
         set
         {
            score=value;
         }
     }
 }
 public class good_student:student
 {
     public decimal bursary=0.0m;
     public  good_student(string g_name,int g_age,decimal g_score,decimal g_bursary):base(g_name,g_age,g_score)
     {
          this.bursary =bursary;
     }
     public override string Name
     {
         get
         {
             return name;
         }
             set
         {
             name = value;
         }
 }
 public override int Age
 {
     get
     {
         return age;
     }
     set
     {
         age = value;
     }
 }
 public override decimal Socore
 {
     get
     {
         if(score>80.0m)
         {
            bursary+=1200.0m;
         }
         else
         {
            bursary=0.0m;
         }
        return score;
     }
     set
     {
         score = value;
     }
 }
 }
 public class MainClass
 {
     public static void Main()
     {
         student s=new student ("大明",23,32.0m);
         Console.WriteLine ("\t{0},\t{1},\t    {2}",s.Name ,s.Age ,s.Socore );
         good_student gs=new good_student ("小明",32,89.0m,0);
         Console.WriteLine ("\t{0},\t{1},\t{2},\t{3}",gs.Name,gs.Age ,gs.Socore,gs.bursary );
     }

 }


相关教程