zoukankan      html  css  js  c++  java
  • C#之override学习案例

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    namespace override_test
    {
        class TestOverride
        {
            public class Employee
            {
                public string name;
                protected decimal basepay;
                public Employee(string name, decimal basepay)  //构造函数
                {
                    this.name = name;
                    this.basepay = basepay;
                }
                public virtual decimal CalculatePay()
                {
                    return basepay;
                }
            }
            public class SalesEmployee : Employee    //实现继承
            {
                private decimal salesbonus;
                public SalesEmployee(string name, decimal basepay, decimal salesbonus)
                    : base(name, basepay)
                {
                    this.salesbonus = salesbonus;
                }
                public override decimal CalculatePay()
                {
                    return basepay + salesbonus;
                }
            }
            static void Main()
            {
                SalesEmployee employee1 = new SalesEmployee("Alice",1000,500);
                Employee employee2 = new Employee("Bob", 1200);
                Console.WriteLine("Employee" + employee1.name + "earned:" + employee1.CalculatePay());
                Console.WriteLine("Employee"+employee2.name+"earned:"+employee2.CalculatePay());
            }
        }
    }             //override的作用就是用来重写基类的方法,如果不重写且基类方法依然为virtual,则类似于普通的继承

  • 相关阅读:
    Java多线程之监控Java线程池运行状态
    JS自学笔记02
    JS自学笔记01
    JAVA自学笔记09
    前端自学笔记07
    前端自学笔记06
    前端自学笔记05
    前端自学笔记04
    前端自学笔记03
    前端自学笔记02
  • 原文地址:https://www.cnblogs.com/zztong/p/6695221.html
Copyright © 2011-2022 走看看